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

17,037 Responses

  1. The aftershocks killed two people; one from a landslide in Fonds-des-Nègres, and the opposite in Anse-à-Veau by a collapsing wall.

  2. Healers and Therapists: These in healing professions may benefit from the calming and balancing effects of Firoza stone.

  3. Alfred William Lennard, Chairman, Sussex Conflict Pensions Committee.

  4. gay sex表示:

    Interesting blog! Is your theme custom made or did you download it from somewhere? A theme like yours with a few simple adjustements would really make my blog shine. Please let me know where you got your design. Cheers

  5. A group of about 50 from north-east England and Cumbria gathered exterior the Northern Farming Convention at Hexham, Northumberland, attended by Rural Affairs Minister Daniel Zeichner.

  6. The entire image of a gemstone is dependent upon approach of dealing with.

  7. алкоголизм лечение вывод из запоя ростов https://ideya.forums.party/viewtopic.php?id=653 .

  8. Elizabeth Sheila Heath. For providers to the Mountain Bothies Association.

  9. The Rhode Island Farm Bureau was a companion on this calendar mission from the beginning as Al Bettencourt, Jr, govt director of Rhode Island Farm Bureau, allowed Santa’s Elves to use their slogan “No Farmers, No Food.” “The slogan is a take-off on the same slogan, ‘No Farms, No Food.’ However Rhode Island Farm Bureau feels ‘what is the good in saving a farm with out additionally saving a farmer?

  10. Dorothy Sarah Lyndsay, Honorary Secretary and Collector, College Financial savings Group, Model School, Londonderry.

  11. 2を英語で表示:

    “It’s bad sufficient farming with the weather.

  12. Sara Brueske: I feel I’ll have to do – as a result of my memory’s not that great, sadly.

  13. Firoza is a versatile gemstone suitable for individuals of all zodiac indicators and walks of life.

  14. When it was revealed in November 2006 that Walmart could be utilizing the time period “Christmas” in their advertising campaign, an article about the problem initiated by USA Today identified that Greatest Buy Company could be among the many retailers that wouldn’t be utilizing “Christmas” in any respect in their promoting that year.

  15. WASHINGTON – Editor’s word: President Joe Biden has signed the Ocean Shipping Reform Act into regulation.

  16. The cage should not be a chore to scrub.

  17. Leonora Adina Greenaway, Matron, Monserrat Infirmary, Leeward Islands.

  18. Nonetheless, the medical doctors are ready to supply remedy for Noah, as well as Liz.

  19. Some collections provide small shells on items.

  20. Three October 1980: Line 10 was prolonged westbound from Porte d’Auteuil to Boulogne-Jean Jaurès.

  21. In white-knuckled terror behind closed doors.

  22. This cost around 550,000 euros yearly and, in response to VAG, has been seen as a constructive transfer.

  23. I really like your blog.. very nice colors & theme. Did you make this website yourself or did you hire someone to do it for you? Plz answer back as I’m looking to create my own blog and would like to know where u got this from. many thanks

  24. Miskatonic University students are being found useless, and it’s as much as you to uncover the truth.

  25. Good post made here. One thing I would like to say is always that most professional domains consider the Bachelors Degree as the entry level requirement for an online certification. Whilst Associate College diplomas are a great way to get started, completing your Bachelors uncovers many entrance doors to various professions, there are numerous online Bachelor Diploma Programs available by institutions like The University of Phoenix, Intercontinental University Online and Kaplan. Another concern is that many brick and mortar institutions make available Online variations of their diplomas but commonly for a greatly higher cost than the organizations that specialize in online college diploma programs.

  26. Last January, all of them celebrated Emily’s marriage ceremony to her partner Ben, whom she met throughout her stint on The Bachelor.

  27. You will have classic telephone games like eight Ball and Basketball together with extra traditional games like Chess and Mancala, all entertaining in their very own approach.

  28. When everyone is done, vote on who did the most effective look sans mirror.

  29. NEW PRODUCT ALERT! We all know those kitchen adventures generally require just a little more than elbow grease for clean-up, so we now have a Sticky Toffee resolution!

  30. Speaking after the match she mentioned: ‘I knew it was all the time going to be a extremely robust battle, we played a few weeks ago and it did not go my way.

發佈留言

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