我有一个包含日期的字符串,其格式为yyyyMMddHHmmss(例如)(20180626170555),并且我正在使用以下代码将其转换为日期时间
dateTimeFromString(json['dateTime'], "yyyyMMddHHmmss")
例外是:
FormatException: Trying to read MM from 20180623130424 at position 14
可能是什么原因?
intl DateFormat由于没有任何分隔符,因此无法处理您的输入字符串。整个字符串将作为年份消耗掉。但是DateTime.parse确实(几乎)对此进行了处理。碰巧恰好期望您拥有(再次接近)格式。
intl DateFormat
DateTime.parse
的一种可接受的样式parse是20120227T132700,只是T日期/时间分隔符有所不同。
parse
20120227T132700
T
试试这个:
String date = '20180626170555'; String dateWithT = date.substring(0, 8) + 'T' + date.substring(8); DateTime dateTime = DateTime.parse(dateWithT);