为日历添加时间

时间:2012-10-08 07:05:05

标签: java

  

可能重复:
  How to subtract X days from a date using Java calendar?

这应该很容易回答,但我想知道:例如,如果您向日历添加了50秒,当前秒数为20,则会添加1分钟并将秒数设置为10,或者设定秒到70?这里有一些代码可以更好地证明我的意思:

Calendar cal;  
public void test(){  
cal.add(Calendar.SECOND, 50);  
}

所以,让我们说当代码运行时,当前秒为20,当前分钟为10.是否会进入11分10秒或10分70秒?提前谢谢。

2 个答案:

答案 0 :(得分:7)

我都没试过,但我希望它会过去1分10秒。

...现在我尝试了,显然已经确认了:

public class Test {

public static void main(String[] args) {
    Calendar cal = GregorianCalendar.getInstance();
    System.out.println("Minutes : "+ cal.get(Calendar.MINUTE));
    System.out.println("Seconds :" + cal.get(Calendar.SECOND));
    cal.add(Calendar.SECOND, 50);
    System.out.println("Minutes : "+ cal.get(Calendar.MINUTE));
    System.out.println("Seconds :" + cal.get(Calendar.SECOND));
}

}

打印到我的控制台:

Minutes : 11
Seconds :33
Minutes : 12
Seconds :23

答案 1 :(得分:0)

您描述的时间只是它的格式。实际上,date的值存储为long个数字。通过使用适当的参数调用Calendar#add(type,value)方法,您只需将/ substrac值添加到long numuber。

该数字的0值代表posix time, 1 January 1970

价值1349591726代表格式2012-10-07 06:35:26Z