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

35,415 Responses

  1. Michaelscoob表示:

    ZithPharmOnline: how to get zithromax over the counter – ZithPharmOnline

  2. BrianTom表示:

    medicine prednisone 5mg Pred Pharm Net Pred Pharm Net

  3. You may be able to borrow more and enjoy better interest rates by taking out a loan secured on your property. Review current offers today.

  4. Sophie Patel表示:

    Equity release solutions may provide the financial support you’ve been needing. Learn how to use the equity tied up in your home without having to move.

  5. Danieldrymn表示:

    prednisone 5mg price: prednisone coupon – prednisone 50 mg coupon

  6. Richardaudit表示:

    http://zithpharmonline.com/# buy zithromax

  7. Danieldrymn表示:

    ZithPharmOnline: zithromax price canada – ZithPharmOnline

  8. Enjoyed every bit of your article.

  9. LanceFen表示:

    50 mg prednisone tablet: Pred Pharm Net – Pred Pharm Net

  10. Michaelscoob表示:

    prednisone 5 50mg tablet price: prednisone 10mg cost – Pred Pharm Net

  11. BrianTom表示:

    can you get cheap clomid without insurance Clom Fast Pharm Clom Fast Pharm

  12. Michaelscoob表示:

    amoxicillin 500 capsule: AmOnlinePharm – amoxicillin online without prescription

  13. Emily Wright表示:

    You may be able to borrow more and enjoy lower monthly repayments by taking out a loan secured on your property. Find the best current offers today.

  14. Richardaudit表示:

    https://zithpharmonline.shop/# ZithPharmOnline

  15. Danieldrymn表示:

    prednisone 7.5 mg: Pred Pharm Net – Pred Pharm Net

  16. Equity release solutions may provide the financial support you’ve been needing. Learn how to tap into the equity tied up in your home without having to move.

  17. Michaelscoob表示:

    amoxicillin tablets in india: AmOnlinePharm – AmOnlinePharm

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

  19. LanceFen表示:

    purchase amoxicillin online: AmOnlinePharm – AmOnlinePharm

  20. Richardaudit表示:

    http://clomfastpharm.com/# Clom Fast Pharm

  21. LanceFen表示:

    buy generic clomid without insurance: how to get generic clomid without prescription – Clom Fast Pharm

  22. Michaelscoob表示:

    lisinopril 5mg prices: Lisin Express – Lisin Express

  23. Michaelscoob表示:

    AmOnlinePharm: AmOnlinePharm – AmOnlinePharm

  24. ремонт пластиковых окон спб отзывы: быстро, надёжно, с гарантией!
    Запотевшие стёкла, сквозняки, заедающие ручки? Наш сервисный центр в Санкт-Петербурге устранит любые неполадки за 1-3 часа! Бесплатный выезд мастера, точная диагностика, использование оригинальных комплектующих и гарантия до 2 лет — вот почему клиенты выбирают нас. Заказать починить пластиковые окна в спб можно онлайн или по телефону: специалист приедет в удобное время, вернёт герметичность конструкциям и продлит их срок службы. Работаем 24/7, фиксированные цены, без скрытых наценок. Доверьте окна профессионалам — и забудьте о проблемах!

  25. Danieldrymn表示:

    where can i buy clomid for sale: Clom Fast Pharm – can i get cheap clomid now

  26. Explore how a homeowner loan can help you access the money you need without parting with your home. Review lenders and customise a plan that fits your needs.

  27. LanceFen表示:

    Pred Pharm Net: 10 mg prednisone – prednisone in india

  28. Michaelscoob表示:

    Pred Pharm Net: Pred Pharm Net – Pred Pharm Net

  29. Unlock the value in your property with a secure home equity loan — ideal for funding home improvements, major purchases, or refinancing.

發佈回覆給「ремонт панорамных окон」的留言 取消回覆

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