如何将日期类正确地转换为解析日期时间?
如何将日期类正确地转换为解析日期时间?
这个问题已经有了答案:
我非常新手 Java。
我从Oracle数据库中取出了这个日期 1995-01-28T17:02:12.936000-0500
,现在我想将其转换为 yyyy-MM-dd HH:mm:ss
格式。我已经尝试了下面的方法。
SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSSSS"); Date c=sdf.parse("1995-01-28T17:02:12.936000-0500"); SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf1.format(c));
我得到的输出是
1995-2-28 17:17:48
你可以看到17:02:12被更改为17:17:48。我该怎么办?
admin 更改状态以发布 2023年5月25日
尝试这样操作。但使用java.time包中的方法。这个包在很多方面都比过时的java.util.Date
和其中许多被弃用的方法都要优越。
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ"); OffsetDateTime odt = OffsetDateTime.parse("1995-01-28T17:02:12.936000-0500",dtf); DateTimeFormatter resultFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); System.out.println(odt.format(resultFormat));
输出
1995-01-28 17:02:12