有没有办法只更新日期的时间路径?我试过Date.setTime()
了,但它也替换了日期路径。我有任何java方法或唯一的方法是设置小时,分钟,秒和毫秒?
谢谢
JavaDate
只是long
从纪元(1970 年 1 月 1 日)开始计算时间的 a 的包装器。更灵活的是Calendar
. 您可以Calendar
从 a创建一个Date
:
Date date = . . .;
Calendar cal = new GregorianCalendar();
cal.setTime(date);
然后您可以设置的各个字段Calendar
:
cal.set(Calendar.HOUR_OF_DAY, 8);
// etc.
我会从java.util.Date
完全远离。理想情况下,使用Joda Time,因为它是一个功能更强大的日期/时间库。
否则,您应该使用java.util.Calendar
. 在您决定您感兴趣的时区之前,Ajava.util.Date
没有特定的日期/时间 - 它只代表一个瞬间,世界各地的不同人会认为这是一天中不同的日期和时间。
你会想看看java.util.Calender。
它将允许您更改日期/时间的各个部分。
Calendar cal = Calender.getInstance();
cal.setTime(date);
cal.set(Calender.HOUR, hour);
或者,正如已经建议的那样,我会看看Joda Time