gpt4 book ai didi

java - 从字符串转换为时间戳时保留时间戳小时值

转载 作者:太空宇宙 更新时间:2023-11-04 07:52:45 26 4
gpt4 key购买 nike

我将时间戳从数据库读取到字符串中,如下所示:

源数据库表时间戳字段值如下:

8/21/2012 2:09 AM

我正在将上面的时间戳读入 java 程序中的字符串字段。

但是,在将其写入目标数据库表时,我使用以下代码将字符串重新转换回时间戳:

java.text.DateFormat format = new java.text.SimpleDateFormat("yyyy-MM-dd");
java.util.Date newDate = format.parse(item.getMyTimeStamp());
ps.setTimestamp(1, new java.sql.Timestamp(newDate.getTime()));

但是,目标表中的时间戳字段值如下:

8/21/2012 12:00 AM

很明显,小时字段将重置为上午 12 点。

如何保留原始时间戳值?

最佳答案

@Nikunj 这个 new java.text.SimpleDateFormat("yyyy-MM-dd"); 实际上丢失了您的时间戳...因此它将时间设置为12AM...您需要获得精确的格式。

您可以尝试一下吗,假设您的字符串包含源数据库中的正确日期,

String sourceDate = "8/21/2012 2:09";
Timestamp sourceTS = Timestamp.valueOf(sourceDate);
System.out.println(sourceTS.getNanos());

这是帖子:Convert Java String to sql.Timestamp .

关于java - 从字符串转换为时间戳时保留时间戳小时值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14182373/

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