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

时间:2011-11-20 18:09:10

标签: java parsing date

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

  

dd-MM-yy HH:mm

例如

  

15-11-11 9点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”添加到字符串,仍然例外。

2 个答案:

答案 0 :(得分:3)

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

因此,我建议您不费吹灰之力地使用您的工作示例,并手动键入 HH:mm10:36。如果它不起作用,我真的很抱歉。 :(。如果它首先尝试将10更改为09。这是为了确保它带有前导零的数字。

答案 1 :(得分:2)

试试这个

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

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