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

16,503 Responses

  1. Source separation Each materials is cleaned and sorted by the patron previous to assortment.

  2. Elsie Schofield, Superintending Inspector of Factories, Ministry of Labour & National Service.

  3. StevenNub表示:

    Priligy tablets: buy priligy – priligy

  4. You can see that there’s larger potential for money circulate.

  5. The ultimate laws limit the look-by way of rule to any transaction (direct or indirect) where achieve is acknowledged.

  6. For political and public services in Grantham.

  7. Every weave utilizes superior materials and many years of design mastery.

  8. However for tradition battle entrepreneurs and the far proper, they’re paydirt.

  9. And in 2007, Wisconsin lawmakers considered whether or not to rename the tree within the Wisconsin Capitol rotunda, a holiday tree since 1985, the Wisconsin State Christmas Tree.

  10. Get the gang collectively-just about.

  11. They might even make you rethink the way in which you considered your entire film or Tv show.

  12. At the tip of last year, anL-Acoustics Kara system was put in, bringing the Opera House’s audio bang up to date with an answer that can handle the diversity of productions the theatre hosts in a rider-pleasant format.

  13. 14:20b-23). Commandments We apply the blood, water, wind and fire of God towards enemies of Christians.

  14. The Irish Instances. Daly, Adam (31 July 2021).

  15. Danieljek表示:

    amoxicillin 500 mg purchase without prescription https://amoxilcompharm.com/# amoxicillin 825 mg

  16. The strategy is to position early stage bets on excessive-potential social entrepreneurs with an final aim of making scalable and contextual solutions to stop trafficking at the foundation.

  17. A wedding ceremony isn’t a one-sided affair, so it would be incorrect to go away out the men when speaking about the way to create a glamorous, vintage-impressed wedding.

  18. Submitting additional data for the alternative plan would enable an order to be made to force the railroad to adjust to the challenge and provides $2.25 million of funding.

  19. Mary Elizabeth Annie Goddard, Sub-Postmistress, Blaisdon, Longhope.

  20. This supervisor makes regular trading choices with the intention to outperform the market, not match it.

  21. Cedric Arthur Fullwood, Chief Probation Officer, Larger Manchester.

  22. akvalife.By表示:

    Look into my web page: akvalife.By

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

  24. By establishing an account with an investing provider and conducting trades, you should purchase ETFs.

  25. Firoza Stone may be worn by anyone, it may also be worn by people with totally different caste and religion.

  26. Donnie Reynolds, from Reynolds Barn goat cheese, is featured for December.

  27. Barry L. Zubrow is an American business govt and funding banker.

  28. Learn more on the Transient Occupancy Tax page.

發佈留言

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