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...

37,430 Responses

  1. Robertfap表示:

    https://kamagraprix.com/# Acheter Kamagra site fiable

  2. BillieLet表示:

    Kamagra pharmacie en ligne: Kamagra Oral Jelly pas cher – kamagra gel

  3. Peterclada表示:

    acheter mГ©dicament en ligne sans ordonnance pharmacie en ligne france livraison belgique vente de mГ©dicament en ligne pharmafst.shop

  4. Профессиональный сервисный центр по ремонту Apple iPhone в Москве.
    Мы предлагаем: ремонт iphone на дому в москве
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  5. Robertfap表示:

    https://pharmafst.com/# pharmacies en ligne certifiГ©es

  6. BradleyJaire表示:

    Acheter Kamagra site fiable: kamagra oral jelly – kamagra pas cher

  7. BillieLet表示:

    achat kamagra: kamagra pas cher – Achetez vos kamagra medicaments

  8. Bernardshoor表示:

    pharmacie en ligne france livraison internationale: Pharmacies en ligne certifiees – pharmacie en ligne pas cher pharmafst.com

  9. Robertfap表示:

    https://tadalmed.com/# cialis generique

  10. Good web site! I truly love how it is easy on my eyes and the data are well written. I’m wondering how I could be notified when a new post has been made. I’ve subscribed to your RSS feed which must do the trick! Have a nice day!

  11. Bernardshoor表示:

    Cialis sans ordonnance pas cher: Cialis sans ordonnance 24h – Tadalafil achat en ligne tadalmed.shop

  12. Peterclada表示:

    Tadalafil 20 mg prix en pharmacie cialis sans ordonnance Cialis generique prix tadalmed.com

  13. BillieLet表示:

    pharmacie en ligne france livraison internationale: Pharmacie sans ordonnance – Pharmacie en ligne livraison Europe pharmafst.com

  14. Пошив штор на любой вкус, выберите..
    Идеальные шторы на заказ, с гарантией качества..
    Эксклюзивные решения в пошиве штор, по вашим размерам..
    Дизайнерские шторы на заказ, обратитесь к нам..
    Профессиональный пошив штор с монтажом, на любой вкус..
    Мастерская по пошиву штор, гарантия качества..
    Пошив штор по индивидуальному заказу, Позвольте нам помочь..
    Премиальный пошив штор, вам под силу..
    Пошив штор из эксклюзивных тканей, по индивидуальному проекту..
    Пошив штор с индивидуальным подходом, звоните прямо сейчас..
    Идеальные шторы для вашего пространства, по вашему дизайну..
    Разнообразие тканей и стилей, подходящий ваш стиль..
    Индивидуальный стиль ваших окон, по разумной цене..
    Создаем шторы по вашим мечтам, по вашим требованиям..
    Пошив штор для любого помещения, подчеркивающих ваш стиль..
    Профессиональный пошив штор, с гарантией долговечности..
    Индивидуальные шторы на заказ, с бесплатной консультацией..
    пошив штор пошив штор . Ткацкий

  15. Профессиональный сервисный центр по ремонту Apple iPhone в Москве.
    Мы предлагаем: сервисный центр iphone в москве адреса
    Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!

  16. BradleyJaire表示:

    pharmacie en ligne fiable: pharmacie en ligne pas cher – pharmacie en ligne france livraison belgique pharmafst.com

  17. Robertfap表示:

    https://tadalmed.shop/# Tadalafil sans ordonnance en ligne

  18. Bernardshoor表示:

    cialis generique: Cialis sans ordonnance 24h – Cialis sans ordonnance pas cher tadalmed.shop

  19. BradleyJaire表示:

    achat kamagra: Acheter Kamagra site fiable – Achetez vos kamagra medicaments

  20. Peterclada表示:

    п»їpharmacie en ligne france pharmacie en ligne sans ordonnance vente de mГ©dicament en ligne pharmafst.shop

  21. Peterclada表示:

    п»їpharmacie en ligne france Medicaments en ligne livres en 24h pharmacie en ligne pas cher pharmafst.shop

  22. Great blog post. Things i would like to bring about is that laptop or computer memory is required to be purchased if the computer still cannot cope with that which you do by using it. One can install two random access memory boards having 1GB each, for example, but not one of 1GB and one of 2GB. One should check the company’s documentation for own PC to make sure what type of storage is necessary.

  23. Leroymor表示:

    Топ магазинов техники http://reyting-magazinov-tehniki.ru по качеству, ценам и сервису! Сравниваем для вас популярные площадки, ищем выгодные предложения, делимся реальными отзывами. Экономьте время и деньги — изучайте наш рейтинг и выбирайте лучшее!

  24. Heya are using WordPress for your blog platform? I’m new to the blog world but I’m trying to get started and set up my own. Do you require any html coding expertise to make your own blog? Any help would be really appreciated!

  25. Robertfap表示:

    http://kamagraprix.com/# kamagra oral jelly

  26. Leroymor表示:

    Топ магазинов техники reyting-magazinov-tehniki.ru/ по качеству, ценам и сервису! Сравниваем для вас популярные площадки, ищем выгодные предложения, делимся реальными отзывами. Экономьте время и деньги — изучайте наш рейтинг и выбирайте лучшее!

發佈回覆給「Bernardshoor」的留言 取消回覆

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