繁体   English   中英

你如何解析2位数的年份日期?

[英]How do you parse 2-digit year date with time?

很抱歉提起这件事,但我没有看到。 我有这样的格式的日期+时间:

dd-MM-yy HH:mm

例如

15-11-11 09:36

(在撰写本文时,它表示5天前的日期)。 当我尝试运行时:

new java.text.SimpleDateFormat("dd-MM-yy HH:mm").parse("15-11-11 09:36")

我得到例外:

java.text.ParseException:Unparseable date:“15-11-11 09:36”

起初我认为这是年份(尽管(-80,+ 20)边界 - 根据文件)。 好吧,也许,但是当我删除时间(来自字符串和模式)时,日期被正确识别。

有谁看到我没看到的?

更新

我的系统(Linux)短日期格式:

YYYY-MM-DD

长:

每周DD月YYYY

和时间:

HH:MM:SS

但是我认为给出模式的目的是独立于语言环境。

出于好奇,我将“:ss”添加到模式,将“:01”添加到字符串,仍然是例外。

我可以估计,但我认为您复制/粘贴格式片段或日期。 并且在两种情况下都错误地插入了不同的分号字符。 角色看起来相同但不同。

所以,我建议你把你的工作示例不受时间和手动键入 HH:mm10:36 如果它不起作用,我真的很抱歉。 :(。如果确实首先尝试将10改为09这是为了确保它需要带有前导零的数字。

试试这个

DateFormat df = new SimpleDateFormat("dd-MM-yy HH:mm");  

System.out.println("Formatted date: " + df.format(date));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM