gpt4 book ai didi

Java : Set time part of java. SQL.Timestamp 不更改日期

转载 作者:行者123 更新时间:2023-11-30 02:45:10 38 4
gpt4 key购买 nike

我正在开发一个 Java 项目,其中另一列中有一个 Time 对象。但出于某些查询目的,我需要时间作为时间戳的一部分。为此,我决定调用 java.SQL.Timestamp 的 setTime 方法,但它将日期重置为 1970 年。

如何只更改 java.SQL.Timestamp 中的时间部分?

代码:

            object.getTimestamp().setTime(object.getTTime().getTime());

谢谢。

最佳答案

与普通的java.util.Date一样工作,使用Calendar更新时间部分,然后使用

更新时间戳
  setTime(long time) 

示例

            Calendar c=Calendar.getInstance();
c.setTimeInMillis(time.getTime());
c.set(Calendar.HOUR_OF_DAY, 0);
c.set(Calendar.MINUTE, 0);
c.set(Calendar.SECOND, 0);
c.set(Calendar.MILLISECOND, 0);

ts.setTime(c.getTimeInMillis());
System.out.println(ts.getTime());

编辑

示例2

    Timestamp ts; 
//give some value to ts
Time time ;
//give some value to time

//Calendar based on ts
Calendar cTs=Calendar.getInstance();
cTs.setTimeInMillis(ts.getTime());

//Calendar based on time
Calendar cTime=Calendar.getInstance();
cTime.setTimeInMillis(time.getTime());

cTs.set(Calendar.HOUR_OF_DAY, cTime.get(Calendar.HOUR_OF_DAY));
cTs.set(Calendar.MINUTE, cTime.get(Calendar.MINUTE));
cTs.set(Calendar.SECOND, cTime.get(Calendar.SECOND));
cTs.set(Calendar.MILLISECOND, cTime.get(Calendar.MILLISECOND));

//set value of ts based on the modified cTs
ts.setTime(cTs.getTimeInMillis());
System.out.println(ts.getTime());

关于Java : Set time part of java. SQL.Timestamp 不更改日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40398942/

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