有没有办法只更新Date的时间路径?
我尝试了Date.setTime()
但它也取代了日期路径。我有任何java方法或唯一的方法是设置小时,分钟,秒和毫秒?
谢谢
答案 0 :(得分:4)
Java Date
只是一个long
的包装器,用于计算时代(1970年1月1日)的时间。更灵活的是Calendar
。您可以从Calendar
:
Date
Date date = . . .;
Calendar cal = new GregorianCalendar();
cal.setTime(date);
然后您可以设置Calendar
:
cal.set(Calendar.HOUR_OF_DAY, 8);
// etc.
答案 1 :(得分:3)
我首先完全离开java.util.Date
。理想情况下,使用Joda Time,因为它是远更强大的日期/时间库。
否则,您应该使用java.util.Calendar
。在您确定您感兴趣的时区之前,java.util.Date
不会拥有特定的日期/时间 - 它只是及时代表即时世界各地的不同人会认为是不同的日期和时间。
答案 2 :(得分:1)
您需要查看java.util.Calender。
它允许您更改日期/时间的各个部分。
Calendar cal = Calender.getInstance();
cal.setTime(date);
cal.set(Calender.HOUR, hour);
或者,正如已经建议的那样,我会看一下Joda Time