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

  1. It has no manager and is simply made up of consultant quantities of each stock in the index.

  2. The company shares are also cross-listed on the Uganda Securities Exchange (USE), where they trade under the symbol “CENT”.

  3. It could cause financial stress for a company even at the outset of a temporary problem if it is not financially stable, resulting in a severe impact on its business, which could lead to its share price plummeting to levels it may never return to.

  4. Following his round-the-world solar flight with Photo voltaic Impulse, Piccard launched the Solar Impulse Foundation.

  5. Chinese ISPs are given lists of problematic keywords and ordered to take down pages that include those words.

  6. Nonetheless, securities regulators in many jurisdictions, including within the U.S., and Canada, have indicated that if a coin or token is an “investment contract” (e.g., beneath the Howey test, i.e., an funding of money with an inexpensive expectation of profit based mostly considerably on the entrepreneurial or managerial efforts of others), it is a security and is subject to securities regulation.

  7. 女性ちつ表示:

    On June 23, 2006, Shop at House Tv returned to the air with a restricted schedule, as soon as once more specializing within the sale of varied collectible merchandise ranging from collectible gold, silver and uncommon coins; popular model title watches like Tag Heuer & Bulova; to distinctive knives and autographed sports activities memorabilia.

  8. いなばあ表示:

    J Braithwaite; P Drahos (February 2000).

  9. Though you take the actions on your own, better is to take the ones that comply with good practices.

  10. In 2018, Working Mother launched its first Best Corporations for Dads listing.

  11. Try not to panic and remind yourself that share market fluctuations are a short term phenomena.

  12. There are plans to construct an extra 2500 homes within the Blackpool Dryers, Refinery and Pit, as part of the St Austell Clay Country Eco-city.

  13. Darrelherse表示:

    slot siteleri 2024: slot oyun siteleri – canl? slot siteleri

  14. Today, it is the go-to tech for communications — at least until FSO communication becomes more efficient and effective.

  15. Bob Henson (October 26, 2015).

  16. Darrelherse表示:

    guvenilir slot siteleri 2024: deneme bonusu veren siteler – 2024 en iyi slot siteleri

  17. Like its 1990 makeover of the aged Lincoln City Automobile, Ford went much additional with this new Crown Victoria than was completely wanted to satisfy the market.

  18. Beginning March 2011, investors are in a position to trade in the Iranian stock market by way of the Web from anywhere on this planet, or get all the necessary info earlier than touring to Iran.

  19. Nevertheless, lagging visitor numbers during the Olympics foreshadowed a different destiny.

  20. モネロ 円表示:

    Eliminates Recently Enacted Street Repair and Transportation Funding by Repealing Revenues Dedicated for those Purposes.

  21. Two of those deaths occurred when a tree toppled over within the storm’s powerful winds.

  22. As a result, they’ve started investing at a lot of places and are constantly purchasing schemes which best suits them.

  23. 日本 木材表示:

    Paul, Trey (April 29, 2022).

  24. KevinSounc表示:

    http://slotsiteleri.bid/# bonus veren casino slot siteleri

  25. Wall Street is the “Black Swan” and so are all those computers for stock trading.

  26. So, keep the love alive and make it work.

發佈留言

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