mar*_*pes 4 java sql time merge date
我有一个广泛的DATE-TIME转换类,但我遇到了一个我无法解决的场景:
我有一个java.util.date:Tue May 10 00:00:00 BST 2011
我有一个java.sql.time:03:58:44
我需要创建一个java.util.date:Tue May 10 03:58:44 BST 2011
我想出的唯一方法是:
public static Date getDate(Date date, Time time) {
Calendar calendar=Calendar.getInstance();
calendar.set(date.getYear(), date.getMonth(), date.getDay(), time.getHours(), time.getMinutes(), time.getSeconds());
return calendar.getTime();
}
Run Code Online (Sandbox Code Playgroud)
完全弃用的代码,不起作用:java.sql.Time.getYear(Unknown Source)中的java.lang.IllegalArgumentException
有任何想法吗?
aca*_*pso 10
java.sql.Time只是java.util.Date的包装器.您可以像使用添加两个java.util.Date对象一样使用它.
例如,将Calendar设置为java.sql.Time:
calendar.setTime(time);
Run Code Online (Sandbox Code Playgroud)
现在提取小时/分钟/秒字段,即:
calendar.get(Calendar.HOUR);
Run Code Online (Sandbox Code Playgroud)
接下来,将Calendar设置为java.util.Date对象,并将这三个字段添加到其时间,即:
calendar.add(Calendar.HOUR, hour);
Run Code Online (Sandbox Code Playgroud)
并获取日期:
calendar.getTime();
Run Code Online (Sandbox Code Playgroud)
最简单的方法是将毫秒加在一起来创建一个新的日期,ala
public static Date getDate(Date date, Time time) {
return new Date(date.getTime() + time.getTime())
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19246 次 |
| 最近记录: |