gpt4 book ai didi

java - 如何更改时间戳中的日期格式

转载 作者:行者123 更新时间:2023-11-30 01:48:58 25 4
gpt4 key购买 nike

我正在使用preparedStatement 来更新我的sql 表。目前我的日期格式是 yyyy-mm-dd 如何将其变为 dd-mm-yyyy。

    try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306?user=root&password=1234&useSSL=false");
con.setAutoCommit(false);
pstmt = con.prepareStatement(qry);
sp = con.setSavepoint();
System.out.println("Enter your name");
String name = sc.next();
System.out.println("Enter your contact number");
long phoneNum = sc.nextLong();
System.out.println("Purpose of visit");
String purpose = sc.next();

pstmt.setString(1, name);
pstmt.setLong(2, phoneNum);
pstmt.setString(3, purpose);

java.sql.Timestamp dd = new java.sql.Timestamp(new java.util.Date().getTime());
pstmt.setTimestamp(4, dd);
pstmt.setTimestamp(5, dd);
pstmt.executeUpdate();
con.commit();

最佳答案

糟糕的 java.sql.Timestamp 类现在已成为遗留问题,从 JDBC 4.2 及更高版本开始不再需要。对于数据库工作,请改用 OffsetDateTime,可能会调整为 InstantZonedDateTime

本地日期

您似乎只需要日期,没有时间,也没有时区或相对于 UTC 的偏移量。

要表示仅日期,请使用 LocalDate 类。

LocalDate ld = LocalDate.parse( "2019-01-23" ) ;  // By default, parses strings in standard ISO 8601 format: YYYY-MM-DD. 

要捕获当前日期,请指定时区。

ZoneId z = ZoneId.systemDefault() ;
LocalDate ld = LocalDate.now( z ) ;

要生成表示该值的文本,请使用DateTimeFormatter

DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd-MM-uuuu" ) ;
String output = ld.format( f ) ;

JDBC

要将 LocalDate 对象写入数据库的数据类型类似于标准 SQL 类型 DATE 的列中:

myPreparedStatement.setObject( … , ld ) ;

从数据库检索:

LocalDate ld = myResultSet( … , LocalDate.class ) ;

关于java - 如何更改时间戳中的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56788683/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com