【发布时间】:2011-02-13 16:03:45
【问题描述】:
我以这种格式将日期存储在 SQLite 数据库中:
d-MMM-yyyy,HH:mm:ss aaa
当我使用该格式检索日期时,一切正常
除了小时。小时总是00。这是我的输出:
String date--->29-Apr-2010,13:00:14 PM
After convrting Date--->1272479414000--Thu Apr 29 00:00:14 GMT+05:30 2010
代码如下:
Date lScheduledDate = CalendarObj.getTime();
DateFormat formatter = new SimpleDateFormat("d-MMM-yyyy,HH:mm:ss aaa");
SomeClassObj.setTime(formatter.format(lScheduledDate));
String lNextDate = SomeClassObj.getTime();
DateFormat lFormatter = new SimpleDateFormat("d-MMM-yyyy,HH:mm:ss aaa");
Date lNextDate = (Date)lFormatter.parse(lNextDate);
System.out.println("output here"+lNextDate);
我做错了什么?
【问题讨论】:
-
好的哥们 问题解决了,AM/PM“字母aaa”格式的问题,因为我使用'HH',不应该使用'aaa',如果你使用'aaa'然后指定'hh'
-
在 2010 年,
java.util.Date是我们都使用的类(连同DateFormat和Calendar),对于 2017 年或更晚出现的任何人来说,这些类现在早已过时了。今天人们会使用java.time包中的类,例如LocalDateTime和DateTimeFormatter。 Stack Overflow 上有很多答案可以告诉你如何做。去搜索。
标签: java date datetime-format