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

14,205 Responses

  1. RandallTaulp表示:

    get cheap propecia tablets: buy generic propecia pill – cost of propecia tablets

  2. Davidtes表示:

    buy ciprofloxacin over the counter buy cipro online canada cipro pharmacy

  3. O melhor cassino, eu o recomendo – Blaze

  4. Frfgerk42dag表示:

    O melhor cassino do mundo Blaze

  5. DichaelDax表示:

    В нашем обществе, где диплом становится началом успешной карьеры в любой сфере, многие стараются найти максимально быстрый путь получения образования. Наличие официального документа трудно переоценить. Ведь диплом открывает двери перед любым человеком, который желает начать трудовую деятельность или продолжить обучение в любом институте.
    В данном контексте мы предлагаем быстро получить этот важный документ. Вы имеете возможность заказать диплом, что становится отличным решением для всех, кто не смог завершить образование или утратил документ. Все дипломы производятся аккуратно, с особым вниманием ко всем деталям. В итоге вы сможете получить документ, максимально соответствующий оригиналу.
    Преимущество такого решения состоит не только в том, что вы сможете оперативно получить свой диплом. Процесс организовывается комфортно, с профессиональной поддержкой. Начав от выбора нужного образца до консультаций по заполнению личной информации и доставки по России — все под полным контролем качественных мастеров.
    Всем, кто пытается найти быстрый способ получить требуемый документ, наша компания готова предложить выгодное решение. Приобрести диплом – это значит избежать долгого обучения и сразу перейти к своим целям, будь то поступление в университет или старт успешной карьеры.

    https://dlplomanrussian.com

  6. WilliamRhype表示:

    https://cytotec.club/# Cytotec 200mcg price

  7. WilliamRhype表示:

    https://nolvadex.life/# tamoxifen moa

  8. RandallTaulp表示:

    Abortion pills online: Cytotec 200mcg price – purchase cytotec

  9. WilliamRhype表示:

    https://nolvadex.life/# tamoxifen and uterine thickening

  10. Davidtes表示:

    buying lisinopril in mexico zestoretic 20 mg medication lisinopril 10 mg

  11. RandallTaulp表示:

    order cheap propecia without prescription: cost of generic propecia online – buy propecia for sale

  12. Davidtes表示:

    lisinopril 3973 zestril drug lisinopril 40 mg tablet

  13. EarnestAvada表示:

    В нашем мире, где диплом – это начало отличной карьеры в любом направлении, многие стараются найти максимально быстрый и простой путь получения качественного образования. Факт наличия документа об образовании сложно переоценить. Ведь именно диплом открывает двери перед всеми, кто стремится вступить в профессиональное сообщество или продолжить обучение в любом университете.
    В данном контексте наша компания предлагает очень быстро получить этот важный документ. Вы имеете возможность заказать диплом, что является выгодным решением для человека, который не смог завершить образование или утратил документ. диплом изготавливается с особой аккуратностью, вниманием к мельчайшим элементам, чтобы в результате получился 100% оригинальный документ.
    Преимущество этого решения состоит не только в том, что можно оперативно получить свой диплом. Процесс организован удобно, с нашей поддержкой. Начиная от выбора подходящего образца диплома до точного заполнения персональных данных и доставки по России — все будет находиться под абсолютным контролем наших мастеров.
    Таким образом, для всех, кто хочет найти быстрый способ получения требуемого документа, наша компания готова предложить выгодное решение. Приобрести диплом – значит избежать продолжительного обучения и не теряя времени переходить к достижению своих целей: к поступлению в университет или к началу удачной карьеры.
    https://diploman-russiyans.com

  14. RandallTaulp表示:

    buy cipro cheap: cipro pharmacy – buy cipro online canada

  15. Frfgerk43dag表示:

    Va somente a esse cassino Blaze

  16. KjrnffjrekWat表示:

    O melhor cassino, eu o recomendo – Blaze

  17. Ronaldpsymn表示:

    http://lisinopril.network/# lisinopril 10 mg tablets price

  18. WilliamRhype表示:

    https://nolvadex.life/# nolvadex for pct

  19. WilliamRhype表示:

    http://nolvadex.life/# nolvadex 10mg

  20. RandallTaulp表示:

    lisinopril without rx: lisinopril 2 5 mg tablets – lisinopril 20 mg tablet price

  21. Davidtes表示:

    prinivil 20mg tabs lisinopril 5mg pill lisinopril 10mg tablets price

  22. WilliamRhype表示:

    http://lisinopril.network/# where can i buy zestril

  23. FobertWen表示:

    В наше время, когда диплом является началом успешной карьеры в любом направлении, многие ищут максимально быстрый путь получения качественного образования. Факт наличия документа об образовании сложно переоценить. Ведь диплом открывает дверь перед любым человеком, желающим вступить в профессиональное сообщество или продолжить обучение в университете.
    Мы предлагаем очень быстро получить этот важный документ. Вы можете купить диплом, и это становится отличным решением для человека, который не смог завершить образование или потерял документ. Каждый диплом изготавливается аккуратно, с максимальным вниманием ко всем нюансам, чтобы в итоге получился 100% оригинальный документ.
    Преимущество этого подхода заключается не только в том, что вы быстро получите свой диплом. Процесс организован удобно, с нашей поддержкой. От выбора требуемого образца до консультаций по заполнению персональной информации и доставки по России — все под полным контролем качественных специалистов.
    В итоге, для тех, кто ищет максимально быстрый способ получить требуемый документ, наша компания предлагает выгодное решение. Заказать диплом – значит избежать долгого обучения и не теряя времени перейти к важным целям: к поступлению в ВУЗ или к началу трудовой карьеры.

    https://diploman-rossiya.com

  24. Frfgerkdag表示:

    Eu recomendo apenas este cassino Blaze

  25. Davidtes表示:

    cytotec pills buy online cytotec buy online usa Abortion pills online

  26. RandallTaulp表示:

    ciprofloxacin 500 mg tablet price: buy cipro online canada – buy cipro online without prescription

  27. Ronaldpsymn表示:

    https://ciprofloxacin.tech/# cipro online no prescription in the usa

  28. Ronaldpsymn表示:

    http://nolvadex.life/# tamoxifen men

  29. RandallTaulp表示:

    cheap propecia without a prescription: cost propecia without dr prescription – get generic propecia

  30. Рекомендую топовую Букмекерскую контору 1win

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

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