时间戳格式必须为yyyy-mm-dd hh:mm:ss [.fffffffff]

问题描述 投票:0回答:1

我正在尝试通过Java在Oracle数据库中插入一条记录。这是我的代码

public class CheckDateTime {
public static void main(String[] args) {
    try{  
        Class.forName("Driver");  

        Connection con = DriverManager.getConnection("url","uname","pwd");  
        String text = "2013-09-04 13:30:00";
        Timestamp ts = Timestamp.valueOf(text);
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");  
        String strDate= formatter.format(ts);  
        String query = "INSERT INTO TABLE VALUES(?,?);";        
        PreparedStatement stmt = con.prepareStatement(query);
        stmt.setString(1, "SK");
        stmt.setTimestamp(2, ts);
        System.out.println(stmt.executeUpdate());

        con.close();  

        }catch(Exception e){ System.out.println(e);}  

}}

但是这似乎引发了错误

java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]

我不知道此错误的根本原因,有人可以帮帮我。

java jdbc
1个回答
0
投票

[月份由大写的m(M)给出,分钟由小写的m(m)给出。

您的格式应为yyyy-MM-dd hh-mm-ss

这里是模式的完整列表:https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

© www.soinside.com 2019 - 2024. All rights reserved.