Java 各種時間上的操作範例

分享一些在專案中用到JAVA與日期相關的操作,包括:

  • 取得目前的年、月、日
  • 判斷兩個日期的大小
  • 計算兩個日期的差距
  • 取得昨天的日期
  • 取得上個月的開始與結束日
package CDIT.stanley;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
import java.util.Calendar;

public class dateOperation {
	
	public static int differentDays(Date date1,Date date2){
        Calendar cal1 = Calendar.getInstance();
        cal1.setTime(date1);
        
        Calendar cal2 = Calendar.getInstance();
        cal2.setTime(date2);
        int day1= cal1.get(Calendar.DAY_OF_YEAR);
        int day2 = cal2.get(Calendar.DAY_OF_YEAR);
        
        int year1 = cal1.get(Calendar.YEAR);
        int year2 = cal2.get(Calendar.YEAR);
        if(year1 != year2){
            int timeDistance = 0 ;
            for(int i = year1 ; i < year2 ; i ++){
                if(i%4==0 && i%100!=0 || i%400==0){
                    timeDistance += 366;
                }
                else{
                    timeDistance += 365;
                }
            }
            return timeDistance + (day2-day1) ;
        }
        else{
            return day2-day1;
        }
    }
	
	public static Date getFirstMonthDay(Calendar calendar) {
		calendar.set(Calendar.DATE, calendar.getActualMinimum(Calendar.DATE));
		return calendar.getTime();
	}

	public static Date getLastMonthDay(Calendar calendar) {
		calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
		return calendar.getTime();
	}
	
    public static void main(String[] args) throws ParseException {
    	
    	//取得目前的年、月、日
		Calendar calendar = Calendar.getInstance();	
		System.out.println("今天是" + calendar.get(Calendar.YEAR) + "年" + (calendar.get(Calendar.MONTH) + 1) + "月" + calendar.get(Calendar.DAY_OF_MONTH) + "日");
		System.out.println("==================================================");
    	//輸出:今天是2017年8月24日
		
		//判斷兩個日期的大小
    	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd", Locale.TAIWAN);
    	Date date1 = sdf.parse("2017-08-23");
    	Date date2 = sdf.parse("2016-09-22");
		System.out.println("Date1 < Date2 : " + date1.before(date2));
		System.out.println("Date1 > Date2 : " + date1.after(date2));
		System.out.println("==================================================");
		//輸出:Date1 < Date2 : false、Date1 > Date2 : true
		
		//計算兩個日期的差距
		System.out.println("Date1 & Date2 差距 : " + differentDays(date1 , date2) + "天");
		System.out.println("==================================================");
		//輸出:Date1 & Date2 差距 : 31天
		
		//取得昨天的日期
		calendar = Calendar.getInstance();
		calendar.add(Calendar.DATE, -1);
		String  yestedayDate = sdf.format(calendar.getTime());
		System.out.println("昨天是" + yestedayDate);
		System.out.println("==================================================");
		//輸出:昨天是2017-08-23
		
		//取得上個月的開始與結束日
		calendar = Calendar.getInstance();
		calendar.add(Calendar.MONTH,-1);
		String monthDayFirst = sdf.format(getFirstMonthDay(calendar));
		String monthDayLast = sdf.format(getLastMonthDay(calendar));
		System.out.println("上個月的第一天是" + monthDayFirst);
		System.out.println("上個月的最後一天是" + monthDayLast);
		System.out.println("==================================================");
		//輸出:上個月的第一天是2017-07-01、上個月的最後一天是2017-07-31
    }
}

You may also like...

27,794 Responses

  1. Here we have mentioned how chargeback helps you get well from a binary choices rip-off.

  2. Richardprurf表示:

    https://kamagrameilleurprix.com/# pharmacie en ligne france fiable
    vente de mГ©dicament en ligne

  3. Appreciating the time and energy you put into your site and in depth information you provide. It’s good to come across a blog every once in a while that isn’t the same out of date rehashed material. Wonderful read! I’ve bookmarked your site and I’m adding your RSS feeds to my Google account.

  4. WilsonVah表示:

    trouver un mГ©dicament en pharmacie: acheter mГ©dicament en ligne sans ordonnance – pharmacie en ligne avec ordonnance

  5. WilsonVah表示:

    SildГ©nafil 100 mg sans ordonnance: viagra en ligne – Viagra prix pharmacie paris

  6. NorbertKep表示:

    pharmacie en ligne france livraison internationale: Cialis sans ordonnance 24h – pharmacie en ligne fiable

  7. WilsonVah表示:

    pharmacies en ligne certifiГ©es: pharmacie en ligne – pharmacie en ligne fiable

  8. Richardprurf表示:

    http://kamagrameilleurprix.com/# п»їpharmacie en ligne france
    pharmacie en ligne fiable

  9. Jacobbep表示:

    Pharmacie Internationale en ligne http://kamagrameilleurprix.com/# pharmacie en ligne sans ordonnance

  10. Jacobbep表示:

    pharmacie en ligne sans ordonnance https://kamagrameilleurprix.com/# Pharmacie en ligne livraison Europe

  11. Richardprurf表示:

    https://pharmaciemeilleurprix.com/# Pharmacie sans ordonnance
    pharmacie en ligne fiable

  12. Richardprurf表示:

    http://tadalafilmeilleurprix.com/# pharmacies en ligne certifiГ©es
    pharmacie en ligne avec ordonnance

  13. WilsonVah表示:

    pharmacies en ligne certifiГ©es: pharmacie en ligne pas cher – pharmacie en ligne france fiable

  14. Hey, you used to write excellent, but the last several posts have been kinda boring? I miss your great writings. Past few posts are just a little bit out of track! come on!

  15. TimothysaulK表示:

    взгляните на сайте здесь кашпо из ротанга купить

  16. 遠 訓読み表示:

    It’s just like different Home windows Explorers that let folks discover recordsdata on their own computers.

  17. NorbertKep表示:

    acheter mГ©dicament en ligne sans ordonnance: pharmacie en ligne france – pharmacie en ligne avec ordonnance

  18. Hi, I do believe this is a great blog. I stumbledupon it 😉 I will revisit once again since i have saved as a favorite it. Money and freedom is the best way to change, may you be rich and continue to help other people.

  19. Jacobbep表示:

    pharmacie en ligne livraison europe http://kamagrameilleurprix.com/# Pharmacie sans ordonnance

  20. NorbertKep表示:

    Viagra gГ©nГ©rique pas cher livraison rapide: acheter du viagra – Viagra homme prix en pharmacie sans ordonnance

  21. Jacobbep表示:

    vente de mГ©dicament en ligne https://kamagrameilleurprix.com/# Pharmacie sans ordonnance

  22. WilsonVah表示:

    trouver un mГ©dicament en pharmacie: pharmacie en ligne – pharmacie en ligne france pas cher

  23. WilsonVah表示:

    pharmacie en ligne: Cialis sans ordonnance 24h – pharmacie en ligne avec ordonnance

  24. WilsonVah表示:

    Meilleur Viagra sans ordonnance 24h: acheter du viagra – Viagra 100mg prix

  25. Richardprurf表示:

    http://kamagrameilleurprix.com/# п»їpharmacie en ligne france
    trouver un mГ©dicament en pharmacie

  26. Hello, i think that i saw you visited my blog so i came to ?return the favor?.I am trying to find things to enhance my site!I suppose its ok to use some of your ideas!!

  27. Stock market investments are continually advancing in light of the fact that it experiences a ton of changes even incrementally.

  28. NorbertKep表示:

    pharmacie en ligne sans ordonnance: pharmacie en ligne france – pharmacie en ligne france livraison belgique

  29. It is really a great and helpful piece of info. I?m glad that you shared this helpful info with us. Please keep us up to date like this. Thank you for sharing.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。