【问题标题】:How to insert TimeStamp with Zone Time in Insert Statement如何在插入语句中插入带有区域时间的时间戳
【发布时间】:2011-03-22 08:13:30
【问题描述】:

如何在插入语句中插入带有区域时间的时间戳... 我得到这个字符串2011-03-22T13:33:54+0530 使用以下将其转换为时间并插入

String timStp = 2011-03-22T13:33:54+0530
java.sql.Timestamp tsmp = new java.sql.Timestamp(sdf.parse(timStp).getTime()); 
java.sql.Timestamp tsmp11 = new java.sql.Timestamp(sdf.parse(timStp).getTimezoneOffset());

INSERT INTO PUNCHOUT_USER_LOGIN(REQ_TIME) VALUES(TIMESTAMP '"+tsmp+"');

上面的查询插入:--> 22-MAR-11 01.12.44.000000000 PM(没有时区)

【问题讨论】:

    标签: java jdbc timezone


    【解决方案1】:

    不要将Timestamp 转换为String。将其插入为Timestamp。您可以为此使用PreparedStatement#setTimestamp()

    String sql = "INSERT INTO PUNCHOUT_USER_LOGIN(REQ_TIME) VALUES(?)";
    // ...
    
    try {
        // ...
        preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setTimestamp(1, timestamp);
        // ...
    } finally {
        // ...
    }
    

    另见:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-19
      • 2020-09-19
      • 1970-01-01
      • 2015-04-19
      • 2011-07-22
      • 1970-01-01
      • 2022-01-22
      相关资源
      最近更新 更多