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,217 Responses

  1. ElmerWes表示:

    buy Viagra online Cheap Viagra 100mg п»їBuy generic 100mg Viagra online

  2. JamesNow表示:

    viagra canada: Buy Viagra online cheap – generic sildenafil

  3. chistka_lspi表示:

    портативный лазерный очиститель ржавчины цена apparaty-lazernoy-ochistki.ru .

  4. GeorgeSep表示:

    Buy Tadalafil 5mg: cialist.pro – cialis for sale

  5. JamesNow表示:

    cheap viagra: Generic Viagra online – Generic Viagra online

  6. Shaneevige表示:

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

    https://dlplomanrussian.com

  7. Davidtes表示:

    Misoprostol 200 mg buy online buy cytotec in usa п»їcytotec pills online

  8. WilliamRhype表示:

    https://cytotec.club/# п»їcytotec pills online

  9. 1win498unern表示:

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

  10. Отличная Букмекерская контора 1win

  11. RandallTaulp表示:

    nolvadex pct: nolvadex pct – tamoxifen side effects forum

  12. WilliamRhype表示:

    https://ciprofloxacin.tech/# buy ciprofloxacin over the counter

  13. RandallTaulp表示:

    tamoxifen and antidepressants: tamoxifen dose – tamoxifen and weight loss

  14. OLaneevige表示:

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

  15. RandallTaulp表示:

    buy cytotec online fast delivery: order cytotec online – cytotec pills online

  16. Davidtes表示:

    buy cipro online canada ciprofloxacin mail online buy cipro online without prescription

  17. Рекомендую надёжную Букмекерскую контору 1win

  18. 1win499unern表示:

    Рекомендую Лучшую Букмекерскую контору 1win

  19. Ronaldpsymn表示:

    https://cytotec.club/# Misoprostol 200 mg buy online

  20. Davidtes表示:

    purchase cytotec buy cytotec online buy cytotec over the counter

  21. WilliamRhype表示:

    https://nolvadex.life/# tamoxifen rash

  22. WilliamRhype表示:

    http://nolvadex.life/# generic tamoxifen

  23. RandallTaulp表示:

    get generic propecia: get generic propecia without a prescription – get generic propecia prices

  24. FobertWen表示:

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

  25. WilliamRhype表示:

    http://ciprofloxacin.tech/# ciprofloxacin generic

  26. Ronaldpsymn表示:

    http://nolvadex.life/# tamoxifen cost

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

  28. Frfgerk40dag表示:

    Recomendo o melhor site Blaze

  29. RandallTaulp表示:

    cost generic propecia tablets: propecia buy – buying propecia without rx

  30. Davidtes表示:

    cytotec abortion pill п»їcytotec pills online buy cytotec

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

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