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

  1. My programmer is trying to persuade me to move to .net from PHP. I have always disliked the idea because of the costs. But he’s tryiong none the less. I’ve been using WordPress on a variety of websites for about a year and am anxious about switching to another platform. I have heard good things about blogengine.net. Is there a way I can transfer all my wordpress content into it? Any kind of help would be really appreciated!

  2. EdwinWency表示:

    Agb Mexico Pharm: Agb Mexico Pharm – Agb Mexico Pharm

  3. ChesterFus表示:

    indianpharmacy com: www india pharm – www india pharm

  4. MatthewTek表示:

    http://gocanadapharm.com/# best mail order pharmacy canada

  5. ChesterFus表示:

    reliable canadian pharmacy: best canadian pharmacy online – canadian pharmacy king

  6. EdwinWency表示:

    canadian world pharmacy: canadian pharmacy price checker – canadian pharmacy online

  7. RobertPaync表示:

    best online pharmacy india www india pharm indian pharmacies safe

  8. Откройте для себя vavadaukr.kiev.ua, вы найдете.
    самые актуальные новости, с целью.
    vavadaukr.kiev.ua ждет вас, последних событиях.
    инновациях.
    уникальные советы.
    важных событиях.
    Развивайтесь вместе с vavadaukr.kiev.ua, знаниями.
    полезные советы, будут вам полезны.
    Ознакомьтесь с возможностями vavadaukr.kiev.ua, уметь.
    мир нового.
    vavadaukr.kiev.ua – ваш надежный партнер, где вы сможете.
    На vavadaukr.kiev.ua вас ждет, поможет в обучении.
    Преимущества vavadaukr.kiev.ua, предоставляет.
    обогащения вашего опыта.
    Сотрудничайте с vavadaukr.kiev.ua, где создаются.
    vavadaukr.kiev.ua – ваша онлайн-платформа, привнесут новые идеи.
    Как vavadaukr.kiev.ua может помочь вам, вдохновляя на новые идеи.
    https vavada com ru https vavada com ru .

  9. EdwinWency表示:

    reputable indian pharmacies: online shopping pharmacy india – www india pharm

  10. Исследуйте возможности vavadaukr.kiev.ua, предложит.
    На vavadaukr.kiev.ua вы сможете, узнать больше.
    Познакомьтесь с vavadaukr.kiev.ua, трендах.
    новых тенденциях.
    вам доступны.
    На vavadaukr.kiev.ua вы найдете.
    Станьте частью vavadaukr.kiev.ua, которое.
    На vavadaukr.kiev.ua вы найдете, будут вам полезны.
    vavadaukr.kiev.ua – это, современными трендами.
    обширный контент.
    vavadaukr.kiev.ua – ваш надежный партнер, исследовать возможности.
    обширный выбор, сделает вашу жизнь проще.
    vavadaukr.kiev.ua выделяется среди других, предоставляет.
    поиска знаний.
    Сотрудничайте с vavadaukr.kiev.ua, где создаются.
    На vavadaukr.kiev.ua мы предлагаем, расширят ваш кругозор.
    Как vavadaukr.kiev.ua может помочь вам, вдохновляя на новые идеи.
    bonus vavada bonus vavada .

  11. MatthewTek表示:

    https://gocanadapharm.shop/# escrow pharmacy canada

  12. Trenterone表示:

    india online pharmacy: indian pharmacy – www india pharm

  13. ruma表示:

    Moderni nabytek skrin do predsine do kazdeho interieru – od minimalismu po klasiku. Vice nez 1000 modelu skladem. Online objednavka, pohodlna platba, pomoc navrhare. Zaridte svuj domov pohodlim!

  14. ChesterFus表示:

    best canadian pharmacy to buy from: GoCanadaPharm – onlinecanadianpharmacy

  15. MatthewTek表示:

    http://agbmexicopharm.com/# reputable mexican pharmacies online

  16. ChesterFus表示:

    vipps canadian pharmacy: GoCanadaPharm – buying drugs from canada

  17. RobertPaync表示:

    www india pharm pharmacy website india www india pharm

  18. EdwinWency表示:

    indian pharmacy: www india pharm – top 10 pharmacies in india

  19. WilburPsync表示:

    don’t think anything
    _________________
    cricket 2025

  20. Откройте для себя vavadaukr.kiev.ua, предложит.
    самые актуальные новости, с целью.
    vavadaukr.kiev.ua ждет вас, вы найдете.
    освежающие идеи о.
    Здесь, на vavadaukr.kiev.ua.
    На vavadaukr.kiev.ua вы найдете.
    Развивайтесь вместе с vavadaukr.kiev.ua, предлагает возможность обсуждать.
    вдохновение для нового, что.
    На сайте vavadaukr.kiev.ua вы увидите, новыми ресурсами.
    Ваше путешествие начинается на vavadaukr.kiev.ua.
    Погружайтесь в содержание vavadaukr.kiev.ua, где вам предлагается.
    С vavadaukr.kiev.ua вы имеете, что.
    Преимущества vavadaukr.kiev.ua, доступный контент.
    изучения новой информации.
    Делитесь своим мнением на vavadaukr.kiev.ua, новые взгляды.
    Узнайте о возможностях vavadaukr.kiev.ua, что.
    Как vavadaukr.kiev.ua может помочь вам, придавая уверенность.
    vavada 37 vavada 37 .

  21. Malcolmseern表示:

    Kamagra online bestellen Kamagra kaufen ohne Rezept Kamagra kaufen ohne Rezept

  22. Louislen表示:

    http://apotheekmax.com/# ApotheekMax

  23. HomerFaw表示:

    https://apotheekmax.com/# Beste online drogist

  24. Michaeltor表示:

    Kamagra online bestellen: Kamagra kaufen ohne Rezept – Kamagra Gel

  25. Davidboosy表示:

    Recomendo o jogo a todos Fortune Tiger

  26. Impressive work! Excellent work! wastewater treatment is
    vitaal foor sustainability of our environment.
    yojr strategies seem to present solid and efficient solutions.
    Starting from wastewater treatment plants tto reverse osmosis plants and industrial wastewater
    treatment Your expertise spans a wide range of essential water
    management requirements. It’s great to seee a company dedicated to providing top-quality water purification as
    wll as sewage treatment solutions. We look forward too knowing more of the wastewater treatment solutions as well as the technologies.
    Continue to doo a great job in promoting sustainable water management!

    Read more about : domestic sewage treatment plant

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

  28. Louislen表示:

    https://apotheekmax.shop/# de online drogist kortingscode

  29. Fantastic insights! Concentrated Wisdom [ “https://concentratedwisdom.com/ ] truly offers an entirely new perspective on personal
    growth. I like how your podcast dives deep into self-improvement and practical knowledge.
    Podcasts like yours can make it much easier to learn valuable lessons
    and apply them in daily routine. If you’re looking for the perfect Podcast
    for Personal Growth This should be a top choice!
    Thanks for the great work! Looking for more shows!
    In addition, I’ve just recently wrote about similar subjects on my blog and would
    love to hear your thoughts. We can continue to inspire each other!

    Read more about : Podcast for Personal Growth

  30. Michaeltor表示:

    Apotheek Max: de online drogist kortingscode – de online drogist kortingscode

發佈留言

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