增加日期变量的时间

时间:2013-05-08 12:44:51

标签: java time

我有一个日期变量,其中包含一些数据,如May 04 10:00:00 IST 2013。我需要增加这个变量的时间。如果增加的时间超过24小时,它也应该增加日期。我怎么能这样做?

7 个答案:

答案 0 :(得分:3)

使用GregorianCalendar

GregorianCalendar类有方法add(int field, int amount),其中字段应为DAY_OF_MONTH

答案 1 :(得分:3)

尝试类似这样的事情

 String myTime = "14:10";
 SimpleDateFormat df = new SimpleDateFormat("HH:mm");
 Date d = df.parse(myTime); 
 Calendar cal = Calendar.getInstance();
 cal.setTime(d);
 cal.add(Calendar.MINUTE, 10);
 String newTime = df.format(cal.getTime());

使用Apache Commons Lang:

Date incrementedDate = DateUtils.addHour(startDate, 1);

http://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/time/DateUtils.html

答案 2 :(得分:1)

以下代码演示了向Date对象添加3小时

    Date d = new Date(System.currentTimeMillis());
    Calendar c = Calendar.getInstance();
    c.setTime(d);
    c.add(Calendar.HOUR, 3);
    d = c.getTime();

您可以获取Calendar的实例,并使用add方法相应地添加小时,分钟或秒。上面的代码会将3添加到当前小时。同样,您可以通过

添加30分钟到当前分钟
c.add(Calendar.MINUTE, 30);

答案 3 :(得分:1)

GregorianCalendar是一件好事,但是如果你可以做一些数学运算,你可以这样做:myDate.setTime(myDate.getTime()+ incrementInMilliseconds);

或者,如果你想增加秒数: myDate.setTime(myDate.getTime()+ incrementInSeconds * 1000); 几分钟,它将是incrementInMinutes * 60 * 1000等。

它会自动增加日期,月份,年份等。 希望它有所帮助! 干杯!

答案 4 :(得分:0)

Calendar cal = Calendar.getInstance();
    Date dateVariable = cal.getTime();   // This gives current Date
    System.out.println(dateVariable);


    cal.add(Calendar.HOUR, 13);  // Incrementing hour by 13,
    cal.add(Calendar.MINUTE, 20); // Incrementing minutes by 20, similarly you can increment seconds and milisec
     Date updatedDate = cal.getTime();
     System.out.println(updatedDate);

日历上的Arithematic只能使用日历对象执行。希望这会对你有所帮助。

答案 5 :(得分:0)

保持简单:

Date date = new Date(System.currentTimeMillis()); //today
date = new Date(date.getTime() + 24 * 60 * 60 * 1000); //new date adding a day
System.out.println(date); //printing the date in the standard format

日期存储为long(自The Epoch以来的毫秒数),因此您可以在一天中24小时,每小时60分钟,一分钟60秒,一秒1000毫秒。并在第二天获得。

答案 6 :(得分:0)

猜猜你正在使用日历

Calendar c = new GregorianCalendar(); // creates calendar
//You can do arithmetic in this line  
//c.add(Calendar.HOUR,-24) //24 hour subtracting
c.add(Calendar.HOUR,24); // 24 hour adding.. 
c.getTime(); //new date is returned 

希望这有帮助!

由于