将字符串转换为java中的日期和时间

时间:2017-09-07 12:17:35

标签: java date time

我的程序从数据库中读取数据,我想将某些字段转换为日期格式(分别为日期和时间)。我可以从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

提前致谢!

1 个答案:

答案 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中从字符串到日期和时间的任何转换。