我的程序从数据库中读取数据,我想将某些字段转换为日期格式(分别为日期和时间)。我可以从sql查询中执行此操作,但可以从java代码执行此操作。
表格中的日期格式= MMDDHHMISS (月日小时分秒)
这些是sql查询现在我正在使用 -
TO_CHAR(TO_DATE(DATETIMECOLUMN, 'MMDDHH24MISS'),'DD/MM/YYYY') AS MY_DATE
TO_CHAR(TO_DATE(DATETIMECOLUMN, 'MMDDHH24MISS'),'HH24:MI:SS') AS MY_TIME
提前致谢!
答案 0 :(得分:2)
这是一个建议:
DateTimeFormatter databaseStringFormatter = DateTimeFormatter.ofPattern("MMddHHmmss");
String sampleDatabaseString = "1129225145";
MonthDay myDate = MonthDay.parse(sampleDatabaseString, databaseStringFormatter);
LocalTime myTime = LocalTime.parse(sampleDatabaseString, databaseStringFormatter);
System.out.println("Date: " + myDate + ". Time: " + myTime + '.');
以上打印
Date: --11-29. Time: 22:51:45.
MonthDay
是一个没有一年的日期,对生日和其他周年纪念日有用。
除非有特殊原因要避免,我认为您应该将数据库列的数据类型更改为datetime
或类似,然后从结果集中检索LocalDateTime
个对象,如{{ 3}}。这将使您免于在数据库查询或Java中从字符串到日期和时间的任何转换。