void main() {
String dateString = DateFormat("yyyyMMddHHmmss").format(DateTime.now()); // 24小时制
try {
DateTime dateTime = DateFormat("yyyyMMddHHmmss").parse(dateString);
print(dateTime);
} catch (e) {
print("解析出错: $e");
}
}
两个格式一样的,为什么会报Trying to read MM from ... at 14" 这样的错误
将当前时间格式化为yyyyMMddHHmmss格式可以正常输出:20250214144455
但是再将这个字符串格式化回去就会报上述错误
格式字符串:yyyyMMddHHmmss 日期字符串:20250214144455 解析器期望的格式是 yyyyMMddHHmmss, 即: yyyy:年份(4位) MM:月份(2位) dd:日期(2位) HH:小时(24小时制,2位) mm:分钟(2位) ss:秒(2位) MM月份不就是第 5 和第6位吗?为什么要去第14位读取 MM
按照 yyyyMMddHHmmss 的格式,月份 (MM) 应该出现在字符串的第 5-6 位,即:
20250214144455
^^^^MM^^^^
其中:
2025->yyyy(年份)02->MM(月份)14->dd(日期)14->HH(小时,24小时制)44->mm(分钟)55->ss(秒)
有哪位大佬遇到过?