2013-04-05 105 views
2

我是Java世界的新手。我正在學習和探索java日曆類,它是一個由工廠方法get instance()組成的抽象類。我試圖增加或減少日期,例如在當前日期中添加一天以獲得明天的日期,減去一天以獲得昨天的日期等。由於Java中的日期保持爲一個很長的毫秒值,有時程序員往往會將一天的24小時增加。如果一天的時間是夏令時,那麼每天可能需要23或25小時,這可能是錯誤的。當您添加或減去日期的日期時,日期的其他組件月和年必須滾動。關於將日期添加到當前日期

我的查詢如下所示。在課堂上,我試圖增加和減少日子。請告知,這是正確的方法,還是有任何其他更好的方法,你會建議。

//Using Calendar to increment and decrement days from date in Java 
    Date today = new Date(); 
    System.out.println("Today is " + toddMMyy(today)); 
    Calendar cal = Calendar.getInstance(); //adding one day to current date cal.add(Calendar.DAY_OF_MONTH, 1); 
    Date tommrrow = cal.getTime(); 
    System.out.println("Tomorrow will be " + toddMMyy(tommrrow)); //substracting two day from date in Java 
    cal.add(Calendar.DAY_OF_MONTH, -2); 
Date yesterday = cal.getTime(); System.out.println("Yesterday was " + MMyy(cal.getTime())); 
+4

唯一的補充建議我會做是爲了看看[喬達時間](HTTP://喬達時間。 sourceforge.net/) – MadProgrammer 2013-04-05 03:00:40

回答

1

你是對的。這是當我們使用日期毫秒算術發生了什麼

 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm"); 
    Date d1 = df.parse("2013-03-30 12:00"); 
    Date d2 = new Date(d1.getTime() + 24 * 3600 * 1000); // +24 hrs 
    System.out.println(df.format(d2)); 

輸出

2013-03-31 13:00