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

  1. ホスト 漫表示:

    Supermarkets need stronger policies for antibiotics use on livestock – report.

  2. Dorothy Kathleen Ah-Thew, lately Head Instructor, Praslin Main Faculty, Seychelles.

  3. In consequence, you need to wear a Turquoise gemstone in the form of a ring, bracelet, or pendant.

  4. Love held racist views in the areas of eugenics.

  5. The Paterson Morning Call.

  6. W.J. Bryant, a member of the Passaic Civic Betterment League, acknowledged that Massachusetts and Illinois had higher legal guidelines that New Jersey should emulate.

  7. Audrey Alessi, Private Assistant, British Information Companies, New York.

  8. It’s so easy for you to come back to the conclusions that it is best to rent some extra house such because the self storage services which can be sprouting up in town.

  9. Thank you for the good writeup. It in reality used to be a leisure account it. Look advanced to more brought agreeable from you! However, how can we communicate?

  10. These snowy “cool dude” nail decorations give new which means to the term “frosted nails.” This Christmas, let it snow, let it snow, let it snow!

  11. These funds are invested into a variety of different stocks and shares, that means that one business underperforming won’t result in significant losses by itself.

  12. The Reverend Donald Blackburn, Church of England Chaplain in Amman.

  13. This article is delivered to you by American Farmland Belief the nation’s leading nationwide conservation nonprofit devoted to protecting farmland, selling sound farming practices and preserving farmers on the land.

  14. Furthermore, the absence of physical waiting rooms eliminates the chance of running into someone they know whereas seeking therapy, enhancing their consolation and willingness to have interaction in the therapeutic process.

  15. Captain Desmond Bernard Legislation, MBE, DSC, (now Retired).

  16. The Valley Inn, the city’s solely bar, is called one of the longest running bars in California.

  17. Frederic Collins Hooper. For services to Government Departments.

  18. The jap and western wings are every 15 tales tall, whereas a centrally positioned tower rises another 20 stories.

  19. In Scotland, the popular band Runrig linked up with the Tartan Military, Scotland’s football supporters organisation, to release a particular version of their hit “Loch Lomond”.

  20. Adding an extra dash of movie star to the proceedings, the affair was put together by none other than Martha Stewart Weddings.

  21. I can not inform you the way much.

  22. 先生 は表示:

    There are offsite managed storage options obtainable for any antiques or items that have to be maintained at a set temperature range.

  23. Здесь можно преобрести сейф купить цена модели сейфов

  24. promotions表示:

    What?s Happening i’m new to this, I stumbled upon this I’ve found It positively useful and it has helped me out loads. I hope to contribute & aid other users like its helped me. Great job.

  25. Roegner reiterated that he most well-liked depression plans, including one proposed by Fred Childs in the Herald-News on October 4. He defended Martini’s actions and stated that in some unspecified time in the future the Erie Railroad would eradicate its prepare service in Passaic and makes use of bus instead from Paterson to New York Metropolis.

  26. Morgan Stanley and BofA Securities acted as the underwriters for the IPO and Neeham was co-supervisor.

  27. And say what, precisely?

  28. The continued debate surrounding the future of Medicare, Medicaid, and non-public insurance protection for telehealth provides further uncertainty to the financial landscape of telepsychiatry.

  29. They create jobs, sell their goods regionally, and assist other rural businesses.

發佈留言

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