我正在以如下格式将日期存储在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);
我做错了什么?
java.util.Date
类(以及DateFormat
和Calendar
), 但是对于任何在2017年或之后出现的人来说,这些类现在已经过时了。今天,人们会使用java.time
包中的类,例如LocalDateTime
和DateTimeFormatter
。有许多Stack Overflow上的答案可以向您展示如何使用它们。去搜索吧。 - Ole V.V.