当前位置: 首页 > 知识库问答 >
问题:

无法将格式yyyyMMddHHmmss中的字符串日期转换为DateTime省道

弓磊
2023-03-14

我有一个包含格式为yyyyMMddHHmmss(例如)(20180626170555)的日期的字符串,我正在使用以下代码将其转换为日期时间

dateTimeFromString(json['dateTime'], "yyyyMMddHHmmss")

例外情况是:

FormatException: Trying to read MM from 20180623130424 at position 14

原因何在?

共有3个答案

廖琨
2023-03-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

宗政小林
2023-03-14

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);
岳良策
2023-03-14

< 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());

参考链接:

    < li >对flutter包(https://pub.dev/packages/intl)中的< code>DateFormat使用< code>intl < li>DateTime.parse() =
 类似资料:
  • 问题内容: 我想要这种格式 问题答案: 您需要先 解析 日期字符串(使用方法),才能 使用与格式匹配的格式获取对象。 然后使用所需的格式来 格式化 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可能有一种自动执行此方法的方法? 谢谢 问题答案: 首先,将字符串转换为时间戳: 然后做一个