【问题标题】:java date formarter not change the normal hour format to 24 hour formatjava日期格式化程序不会将正常小时格式更改为24小时格式
【发布时间】:2016-09-21 17:39:21
【问题描述】:

我有这个 javascript 值 JSON 值 21/09/2016 13:24:40 我想在我的 Java 后端接收它并将其转换为日期,然后转换为时间戳。

我创建了这种格式:

SimpleDateFormat hourFormat = new SimpleDateFormat("dd/mm/yyyy HH:mm:ss");

我使用该格式将String 转换为Date,如下所示:

initHour = hourFormat.parse((String) datosDTOParseados.get("initHour"));

Timestamp insertHour= new java.sql.Timestamp(initHour.getTime());

我在控制台中打印该值并且小时是正确的,它是 24 小时格式。但是当我将它插入 Oracle 数据库时,小时是以正常格式而不是 24 小时格式插入的。

我在 Oracle 中这样选择日期:

SELECT TO_CHAR(init_hour, 'dd/mm/yyyy HH:mm:ss') From mytable where id='2';

我尝试使用这种格式将HH 更改为hh,但同样的事情发生了:

SimpleDateFormat hourFormat = new SimpleDateFormat("dd/mm/yyyy hh:mm:ss");

【问题讨论】:

    标签: java oracle date timestamp


    【解决方案1】:

    24 小时 Oracle 格式为 HH24。分钟也应该是MI。

    所以你的代码应该类似于:

    SELECT TO_CHAR(init_hour, 'dd/mm/yyyy hh24:mi:ss') From mytable where id='2';
    

    咨询Oracle Dates and Times。

    【讨论】:

    • 赞成,但是关于插入的东西可能是不必要的,因为看起来他是通过 JDBC 使用 java.sql.Timestamp 插入的,所以不需要 to_date。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 1970-01-01
    相关资源
    最近更新 更多