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

  1. EdwardMet表示:

    comprare farmaci online all’estero Cialis generico recensioni farmacie online sicure

  2. Kids who miss the bowl are out.

  3. People who take pleasure in mythic backstories shall be happy to study that each one these versions have at least a notional connection with the one partially mythic Brian Boru, sometime High King of Ireland who flourished 941 – 23 April 1014, about whom a lot has been written and extra sung, and from whom the barons Inchiquin, still extant, hint their lineage.

  4. There have to be an eventual end to are we’re going via right now.

  5. There can be a small sequence of historical essays regarding Leonardville and a number of the families dwelling in there.

  6. 先制する表示:

    That signifies that when your bills attain a certain quantity (usually $1 million or above) the insurance coverage firm won’t pay anymore.

  7. Purchase now on Ba&sh, Nordstrom, Farfetch, and Bloomingdales at inexpensive prices.

  8. Time to skip the highlighter and invest on this stunning wolf reduce that may accompany you on a regular basis!

  9. In the sixth book, whereas on the varsity prepare, Draco Malfoy hints that his dark aspirations contain much more than schoolboy pranks.

  10. For severe illness or injuries, you can get major medical, which pays the big bills when basic protection has run out.

  11. At these bars, discover cheap bites from tiki to Tokyo, plus drinks that may slake thirsts of every kind, on any budget.

  12. Jineen Reed has been essential to growing and managing Windchase for over thirty years, and is our dressage instructor extraordinaire.

  13. Yes, wolf reduce hairdos are fairly low-upkeep because of the multi-layered cuts that don’t require much styling as soon as washed.

  14. The villa was 10 x 12 meters in size, situated on one facet of an enclosure measuring 12 x 19 meters.

  15. So you will find there’s enough area for toes to curve within the footwear.

  16. In situations like these people wish to put on one thing applicable and nonetheless be snug.

  17. By creating a t-shirt that resonated with techies and integrating Printfection, Marketo, and Salesforce collectively, New Relic was ready to offer free t-shirts as bait throughout their web site, in re-focusing on banner adverts, and e-mail advertising and marketing campaigns attractive individuals to deploy their product.

  18. When you’re not dancing you’ll be able to chill out on the beach or explore charming Old San Juan with its cute retailers and cobblestone streets.

  19. Each spell’s best gemstones can be revealed, providing you with all the knowledge you need to begin your enchanting profession-boosting quest.

  20. They’re largely focused in direction of womens sneakers, but even have some men’s products.

  21. Yes, estuaries are coastal areas where seawater from the ocean mixes with freshwater from rivers and streams.

  22. In books and seminars we’re informed that these strategies spell the difference between success and failure in main (managing/transforming) the local church.

  23. Moniteur, October 24, 1789.

  24. 手 グー表示:

    Severus Snape is a Dying Eater.

  25. Some new CFLs available on the market have extended lifetimes that can accommodate for elevated cycling.

  26. Travelling ladies should go for a large toe field and padded heel for extra cushioning.

  27. In antebellum Dayton, when the newspaper studying public selected between shopping for the Day by day Journal and the Each day Empire, they were making a starkly political assertion.

  28. If you’re wondering why I didn’t buy extra footwear, it was as a result of I put on an additional large shoe size and they have been unavailable the place I was traveling.

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

  30. Если вы искали где отремонтировать сломаную технику, обратите внимание – ремонт бытовой техники в волгограде

發佈留言

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