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

3,735 Responses

  1. 1win877piodo表示:

    Лучшая Букмекерская контора – 1win

  2. Shaneevige表示:

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

    https://diplomanc-russia24.com

  3. Zeihwr表示:

    order microzide 25 mg – buy lisinopril tablets bisoprolol without prescription

  4. WilliamRhype表示:

    http://finasteride.store/# cost of generic propecia price

  5. WilliamRhype表示:

    https://lisinopril.network/# lisinopril 2.5 mg for sale

  6. Davidtes表示:

    buy generic propecia without prescription cheap propecia buy cheap propecia without rx

  7. RandallTaulp表示:

    does tamoxifen cause menopause: tamoxifen cost – tamoxifen citrate pct

  8. WilliamRhype表示:

    https://cytotec.club/# buy cytotec online fast delivery

  9. Davidtes表示:

    buy cytotec pills online cheap order cytotec online buy cytotec over the counter

  10. 1win878piodo表示:

    Самая крутая Букмекерская контора – 1win

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

  12. Shaneevige表示:

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

  13. RandallTaulp表示:

    tamoxifen for gynecomastia reviews: liquid tamoxifen – tamoxifen warning

  14. RandallTaulp表示:

    get propecia without insurance: cost of cheap propecia without insurance – buying propecia without rx

  15. Davidtes表示:

    lisinopril tablet lisinopril 20 mg purchase lisinopril 1.25 mg

  16. Cibuaz表示:

    metoprolol ca – telmisartan canada buy nifedipine without prescription

  17. WilliamRhype表示:

    https://nolvadex.life/# where to get nolvadex

  18. Great site ! I recommend everyone to watch it!vip paris escort

  19. WilliamRhype表示:

    http://finasteride.store/# how cЙ‘n i get cheap propecia pills

  20. Davidtes表示:

    п»їdcis tamoxifen tamoxifen and ovarian cancer effexor and tamoxifen

  21. Ronaldpsymn表示:

    https://lisinopril.network/# lisinopril 125 mg

  22. RandallTaulp表示:

    buy generic ciprofloxacin: buy generic ciprofloxacin – buy ciprofloxacin over the counter

  23. WilliamRhype表示:

    http://finasteride.store/# order propecia tablets

  24. Lewisslund表示:

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

  25. RandallTaulp表示:

    order cheap propecia without a prescription: propecia pills – buy propecia prices

  26. RandallTaulp表示:

    lisinopril diuretic: prinivil 25mg – zestril tablet

  27. 1win879piodo表示:

    Самая Надежная Букмекерская контора – 1win

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

  29. Ronaldpsymn表示:

    http://cytotec.club/# buy cytotec online

  30. Ronaldpsymn表示:

    https://lisinopril.network/# lisinopril 419

發佈留言

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