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

  1. Sweet blog! I found it while browsing on Yahoo News. Do you have any tips on how to get listed in Yahoo News? I’ve been trying for a while but I never seem to get there! Thanks

  2. курс рубля к тенге курс рубля к тенге .

  3. Normanfer表示:

    farmacia online barata: farmacia online envio gratis murcia – farmacias online baratas

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

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

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

  7. Normanfer表示:

    farmacia online madrid: farmacia online envio gratis murcia – farmacia online madrid

  8. RonaldDrorm表示:

    farmacia online espaГ±a envГ­o internacional mejores farmacias online п»їfarmacia online espaГ±a

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

  10. GeorgeAmarp表示:

    http://betine.online/# betine promosyon kodu 2024

  11. GeorgeAmarp表示:

    https://starzbet.shop/# starzbet

  12. Jamesfeame表示:

    Gates of Olympus gates of olympus demo turkce oyna gates of olympus giris

  13. Jamesfeame表示:

    casibom giris adresi casibom giris casibom giris

  14. Jamesfeame表示:

    starzbet guncel giris starzbet giris starzbet guncel giris

  15. I should say also believe that mesothelioma cancer is a uncommon form of many forms of cancer that is commonly found in those people previously familiar with asbestos. Cancerous tissues form inside the mesothelium, which is a protective lining that covers many of the body’s organs. These cells typically form from the lining on the lungs, tummy, or the sac which encircles the heart. Thanks for expressing your ideas.

  16. Great site! I recommend it to everyone!tarjima kino 2024

  17. GeorgeAmarp表示:

    https://casibom.auction/# casibom guncel

  18. Along with every little thing which seems to be building throughout this specific subject material, many of your points of view are actually rather exciting. Nonetheless, I beg your pardon, because I can not give credence to your entire suggestion, all be it refreshing none the less. It seems to everyone that your comments are not totally justified and in actuality you are your self not really thoroughly confident of the point. In any event I did take pleasure in examining it.

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

  20. Thanks for the guidelines shared on the blog. Something also important I would like to express is that weight reduction is not all about going on a celebrity diet and trying to lose as much weight as possible in a couple of weeks. The most effective way in losing weight is by acquiring it little by little and right after some basic guidelines which can allow you to make the most from your attempt to drop some weight. You may be aware and already be following these tips, yet reinforcing understanding never does any damage.

  21. Valuable info. Lucky me I found your web site by accident, and I am shocked why this accident did not happened earlier! I bookmarked it.

  22. I am so happy to read this. This is the type of manual that needs to be given and not the random misinformation that is at the other blogs. Appreciate your sharing this greatest doc.

  23. Hey very nice blog!! Man .. Beautiful .. Amazing .. I will bookmark your website and take the feeds also?I’m happy to find so many useful info here in the post, we need develop more techniques in this regard, thanks for sharing. . . . . .

  24. I do love the manner in which you have presented this specific problem and it really does provide us a lot of fodder for consideration. However, through what precisely I have personally seen, I basically trust as the responses stack on that people remain on point and don’t embark upon a soap box of the news of the day. Yet, thank you for this excellent point and though I do not really agree with the idea in totality, I respect your standpoint.

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

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

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

  28. Jamesfeame表示:

    casibom guncel casibom casibom

  29. In November 2014, Nokia Applied sciences launched its first product, the Nokia N1 pill laptop.

發佈留言

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