我有一个包含格式为yyyyMMddHHmmss(例如)(20180626170555)的日期的字符串,我正在使用以下代码将其转换为日期时间
dateTimeFromString(json['dateTime'], "yyyyMMddHHmmss")
例外情况是:
FormatException: Trying to read MM from 20180623130424 at position 14
原因何在?
从“yyyy-MM-dd'T'HH:mm:ss.SSS'Z'“
到 'MM/DD/yyyy hh:mm a'
date = '2021-01-26T03:17:00.000000Z';
DateTime parseDate =
new DateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'").parse(date);
var inputDate = DateTime.parse(parseDate.toString());
var outputFormat = DateFormat('MM/dd/yyyy hh:mm a');
var outputDate = outputFormat.format(inputDate);
print(outputDate)
输出 01/26/2021 03:17 AM
intl DateFormat
无法处理您的输入字符串,因为它没有任何分隔符。整个字符串作为年份被消耗。然而,DateTime.parse
确实可以解决这个问题(几乎)。它碰巧期望精确地期望你拥有的格式(再次,几乎)。
parse
的可接受样式之一是20120227T132700
,它与T
日期/时间分隔符不同。
试试这个:
String date = '20180626170555';
String dateWithT = date.substring(0, 8) + 'T' + date.substring(8);
DateTime dateTime = DateTime.parse(dateWithT);
< code > datetime . parse(" string date here ")仅接受某些格式化的字符串。检查以下可接受字符串的示例。
"2012-02-27 13:27:00"
"2012-02-27 13:27:00.123456789z"
"2012-02-27 13:27:00,123456789z"
"20120227 13:27:00"
“20120227 T 132700”
“20120227”
“20120227”
“2012-02-27 T 14 Z”
“2012-02-27T14 00:00”
"-123450101 00:00:00 Z"
:在-12345年。“2002-02-27T14:00:00-0500”
:与“2002-02-27T19:00:00Z”相同
=
DateTime tempDate = new DateFormat("yyyy-MM-dd hh:mm:ss").parse(savedDateString);
=
String date = DateFormat("yyyy-MM-dd hh:mm:ss").format(DateTime.now());
参考链接:
问题内容: 我想要这种格式 问题答案: 您需要先 解析 日期字符串(使用方法),才能 使用与格式匹配的格式获取对象。 然后使用所需的格式来 格式化 Date对象(Use 方法)以获取字符串。 输出:- 第一种格式是RFC 822 TimeZone与您的日期字符串匹配。有关在日期格式中使用的其他各种选项,请参见。
我得到一串零。有人能帮忙吗?
问题内容: 我想将此字符串转换为以下日期格式。 我收到此错误: 问题答案: 嗯,是。您传递给的构造函数的参数表示您希望日期采用的格式。 对于“ 2013年2月26日,星期二”之类的输入有效。它甚至不是 稍微 有效期为“2013年2月26日”。您知道您正在 解析 文本,而不是对其进行格式化吗? 看起来您想要的格式字符串为“ M-dd-yyyy”或可能为“ Md-yyyy”。 如果尝试将一种格式转换为
问题内容: 我有以下序列化的json对象: 将其发送到我要反序列化的服务器,如下所示: 我碰到一个错误: “无法将字符串转换为DateTime:13/02/2014。路径’DeliveryDate’,第1行,位置323。” 由于日期是有效的,所以我假设它是非美国格式的问题。实际上,我知道这是因为如果我一天的工作量少于13,那么反序列化就可以了。那么如何指示反序列化器使用非美国日期? 问题答案: 尝
问题内容: 我有一堆记录,日期格式为字符串,例如“ 04/17/2009” 我想将它们转换为mysql datetime字段 我计划使用foreach循环读取旧的日期值,并将新格式化的值插入每个记录的新字段中 什么是转换字符串的最佳方法…我认为php可能有一种自动执行此方法的方法? 谢谢 问题答案: 首先,将字符串转换为时间戳: 然后做一个