仅限更新时间

时间:2012-11-02 07:11:01

标签: java datetime

有没有办法只更新Date的时间路径? 我尝试了Date.setTime()但它也取代了日期路径。我有任何java方法或唯一的方法是设置小时,分钟,秒和毫秒?

谢谢

3 个答案:

答案 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