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

24,276 Responses

  1. Rent a plan writing company that makes a speciality of enterprise plans that are looking for a venture capital funding.

  2. The IsaMills sometimes use an inert grinding medium (comparable to ceramic balls, smelter slag or silica sand) and avoid the problem of inhibiting flotation of the fine particles with iron deposits.

  3. Permit the white to drip down between the 2 halves into a small bowl.

  4. Historically, weighbridge operations have relied closely on guide data recording.

  5. Charlesbot表示:

    https://fastpillseasy.com/# ed med online

  6. BrettTIT表示:

    cheapest ed online: cheap cialis – order ed meds online

  7. Today, Houston vacation spot management companies make the most of the opportunity to expand their activities to a wider range of companies, the event, transportation planning.

  8. Making ready Printable blank soccer play sheet template paperwork will never be puzzling once more if you know the place to seek out the appropriate template and put together it effortlessly.

  9. Barrybib表示:

    Viagra online price: cheap viagra – Viagra without a doctor prescription Canada

  10. Inject the fish with antibiotics.

  11. Motor carriers traveling by Kentucky and have a Gross Car Weight of 60,00 pounds and more are required to obtain the Kentucky Weight Distance Permit.

  12. Barrybib表示:

    cheap ed drugs: erectile dysfunction online – best online ed medication

  13. During his speech, Barr cited out of control government development as the first reason for his run.

  14. Malayan Banking Bhd (Maybank) has set a group-wide base fee at 3.2, efficient Jan 2, 2015.

  15. Campoli, Alessandra (2010). “Tropical Melancholy: The Ephemeral in Thai Visible Imagination”.

  16. Subsequent combat losses for the 1st, 2nd, and fifth Armored Divisions were replaced with normal-subject tanks from US Military stocks.

  17. Charlesbot表示:

    http://fastpillseasy.com/# buy ed pills

  18. Try this record of America’s favorite toys over time, compiled by the Toy Trade Association.

  19. Novak, Steve (Could 29, 2020).

  20. This transforms the way dealings with real property are carried out in the digital age for agents, consumers, and sellers identically.

  21. Your consent isn’t a situation to utilizing our companies, but we can’t provide you with our core service – a customized referral – without sharing your contact information with the facilities to which you could have asked to be referred.

  22. From the preliminary scoping and planning part by means of to the publish-event analysis, EventPro manages the event timeline and demanding path to help be sure that no process is missed.

  23. Donaldabula表示:

    best online ed medication cheap cialis online ed pharmacy

  24. When there is a disruption within the mentioned political domain, the nation’s economy takes a beating and ultimately its currency worth too.

  25. So as an instance you retain it easy and get a straightforward car mortgage.

  26. Understanding your area’s Life Security Code, often known as NFPA code 101, is a good first step.

  27. рейтинг процессоров intel https://www.topcpu.ru .

  28. You can arrange a local art gallery showcasing artworks by talented native artists.

  29. He even thinks he’s better off than some who went to varsity – he is aware of too many who dropped out or took on debt for levels they by no means used.

發佈留言

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