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

15,385 Responses

  1. GeorgeAmarp表示:

    https://gatesofolympusoyna.online/# gate of olympus oyna

  2. A person essentially help to make seriously posts I would state. This is the first time I frequented your website page and thus far? I surprised with the research you made to make this particular publish amazing. Great job!

  3. ремонт бытовой техники самара

  4. Bermain di Mega888 adalah mudah dan menyeronokkan, dengan pelbagai pilihan permainan yang sesuai untuk semua pemain.

  5. Хочу поделиться опытом покупки в одном интернет-магазине сантехники. Решил обновить ванную комнату и искал место, где можно найти широкий выбор раковин и ванн. Этот магазин приятно удивил своим ассортиментом и сервисом. Там есть всё: от классических чугунных ванн до современных акриловых моделей.

    Если вам нужна умывальник в ванную комнату , то это точно туда. Цены конкурентные, а качество товаров подтверждено сертификатами. Консультанты помогли с выбором, ответили на все вопросы. Доставка пришла вовремя, и установка прошла без проблем. Остался очень доволен покупкой и сервисом.

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

  7. Another important aspect is that if you are an older person, travel insurance intended for pensioners is something you ought to really contemplate. The more aged you are, a lot more at risk you’re for permitting something poor happen to you while abroad. If you are definitely not covered by quite a few comprehensive insurance policies, you could have many serious difficulties. Thanks for expressing your ideas on this website.

  8. Hey this is kinda of off topic but I was wanting to know if blogs use WYSIWYG editors or if you have to manually code with HTML. I’m starting a blog soon but have no coding skills so I wanted to get guidance from someone with experience. Any help would be enormously appreciated!

  9. GeorgeAmarp表示:

    https://gatesofolympusoyna.online/# gates of olympus turkce

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

  11. Наткнулся на замечательный интернет-магазин, специализирующийся на раковинах и ваннах. Решил сделать ремонт в ванной комнате и искал качественную сантехнику по разумным ценам. В этом магазине нашёл всё, что нужно. Большой выбор раковин и ванн различных типов и дизайнов.
    Особенно понравилось, что они предлагают большие раковины для ванной. Цены доступные, а качество продукции отличное. Консультанты очень помогли с выбором, были вежливы и профессиональны. Доставка была оперативной, и установка прошла без нареканий. Очень доволен покупкой и сервисом, рекомендую!

  12. Wow! This could be one particular of the most helpful blogs We have ever arrive across on this subject. Basically Great. I am also a specialist in this topic so I can understand your effort.

  13. Hi! Do you know if they make any plugins to protect against hackers? I’m kinda paranoid about losing everything I’ve worked hard on. Any tips?

  14. I found your blog site on google and test just a few of your early posts. Proceed to maintain up the very good operate. I just further up your RSS feed to my MSN Information Reader. In search of ahead to reading extra from you afterward!?

  15. Jamesfeame表示:

    starzbet guncel giris starzbet starzbet guncel giris

  16. Thanks for the sensible critique. Me & my neighbor were just preparing to do a little research about this. We got a grab a book from our local library but I think I learned more clear from this post. I’m very glad to see such wonderful information being shared freely out there.

  17. Jamesfeame表示:

    straz bet straz bet straz bet

  18. I?m not sure where you are getting your information, but good topic. I needs to spend some time learning more or understanding more. Thanks for magnificent info I was looking for this information for my mission.

  19. I just added this web site to my feed reader, great stuff. Can not get enough!

  20. Hi there, You have done an incredible job. I will certainly digg it and personally recommend to my friends. I am sure they will be benefited from this website.

  21. GeorgeAmarp表示:

    https://gatesofolympusoyna.online/# Gates of Olympus

  22. GeorgeAmarp表示:

    http://betine.online/# betine giris

  23. Сломался телефон, думал покупать новый, но решил попробовать отремонтировать. Обратился в этот сервисный центр и не пожалел. Профессионалы своего дела быстро восстановили мой телефон. Рекомендую посетить их сайт: сервисный центр мобильных телефонов.

  24. ремонт техники профи в самаре

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

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

  27. ремонт кондиционеров сервис центры в москве表示:

    <a href=”https://remont-kondicionerov-wik.ru”>кондиционер ремонт</a>

發佈留言

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