我有一个日期变量,其中包含一些数据,如May 04 10:00:00 IST 2013
。我需要增加这个变量的时间。如果增加的时间超过24小时,它也应该增加日期。我怎么能这样做?
答案 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);
答案 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
添加到当前小时。同样,您可以通过
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
希望这有帮助!
由于