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

35,148 Responses

  1. EdwinWency表示:

    best india pharmacy: www india pharm – Online medicine order

  2. ChesterFus表示:

    canadian pharmacy online store: best canadian online pharmacy – canadian mail order pharmacy

  3. EdwinWency表示:

    Agb Mexico Pharm: mexican border pharmacies shipping to usa – Agb Mexico Pharm

  4. An added important aspect is that if you are an older person, travel insurance regarding pensioners is something you should really think about. The more aged you are, the harder at risk you are for having something terrible happen to you while overseas. If you are not necessarily covered by a number of comprehensive insurance policy, you could have a few serious problems. Thanks for sharing your guidelines on this web blog.

  5. You made some decent points there. I looked on the web for the problem and located most people will go together with along with your website.

  6. EdwinWency表示:

    Agb Mexico Pharm: purple pharmacy mexico price list – mexican mail order pharmacies

  7. ChesterFus表示:

    canadian drug: canadian online pharmacy – canadian pharmacy sarasota

  8. Wow, superb blog layout! How long have you been blogging for? you made blogging look easy. The overall look of your site is magnificent, as well as the content!

  9. EdwinWency表示:

    www india pharm: top 10 pharmacies in india – buy prescription drugs from india

  10. MatthewTek表示:

    http://agbmexicopharm.com/# best online pharmacies in mexico

  11. Trenterone表示:

    best canadian online pharmacy: GoCanadaPharm – legit canadian pharmacy

  12. Appreciating the dedication you put into your blog and in depth information you present. It’s good to come across a blog every once in a while that isn’t the same outdated rehashed information. Fantastic read! I’ve bookmarked your site and I’m including your RSS feeds to my Google account.

  13. RobertPaync表示:

    pharmacy website india buy medicines online in india indian pharmacy online

  14. ChesterFus表示:

    canadian pharmacy: legit canadian pharmacy online – reliable canadian pharmacy

  15. MatthewTek表示:

    https://gocanadapharm.com/# canadian pharmacies comparison

  16. ChesterFus表示:

    www canadianonlinepharmacy: canadian pharmacy phone number – canadianpharmacymeds com

  17. Thanks for your concepts. One thing really noticed is that often banks along with financial institutions really know the spending behavior of consumers and understand that the majority of people max away their credit cards around the vacations. They prudently take advantage of that fact and start flooding ones inbox in addition to snail-mail box with hundreds of 0 APR credit card offers just after the holiday season closes. Knowing that for anyone who is like 98 of the American community, you’ll hop at the chance to consolidate consumer credit card debt and shift balances for 0 APR credit cards.

  18. RobertPaync表示:

    www india pharm reputable indian online pharmacy www india pharm

  19. Thank you sharing most of these wonderful articles. In addition, the right travel plus medical insurance plan can often ease those considerations that come with traveling abroad. The medical emergency can soon become too expensive and that’s bound to quickly set a financial stress on the family finances. Setting up in place the excellent travel insurance package deal prior to setting off is well worth the time and effort. Thanks a lot

  20. MatthewTek表示:

    http://wwwindiapharm.com/# www india pharm

  21. ChesterFus表示:

    vipps approved canadian online pharmacy: go canada pharm – canadian pharmacy reviews

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

  23. Excellent post. I was checking constantly this blog and I am impressed! Extremely helpful information specially the last part 🙂 I care for such info much. I was looking for this certain info for a very long time. Thank you and best of luck.

  24. Откройте для себя vavadaukr.kiev.ua, интересные материалы.
    На vavadaukr.kiev.ua вы сможете, для того чтобы.
    Не упустите шанс посетить vavadaukr.kiev.ua, всё о.
    углубленное понимание.
    инсайдерская информация.
    узнать больше о.
    Станьте частью vavadaukr.kiev.ua, идеями.
    На vavadaukr.kiev.ua вы найдете, которые.
    На сайте vavadaukr.kiev.ua вы увидите, знать.
    На vavadaukr.kiev.ua начинается.
    Узнайте больше о vavadaukr.kiev.ua, открывать новое.
    С vavadaukr.kiev.ua вы имеете, поможет в обучении.
    vavadaukr.kiev.ua выделяется среди других, он предлагает.
    На vavadaukr.kiev.ua вы найдёте поддержку в.
    Делитесь своим мнением на vavadaukr.kiev.ua, где вам удобно.
    Узнайте о возможностях vavadaukr.kiev.ua, привнесут новые идеи.
    Как vavadaukr.kiev.ua может помочь вам, вызывая интерес.
    https vavada com ru https://vavadaukr.kiev.ua/ .

  25. I’m so happy to read this. This is the type of manual that needs to be given and not the random misinformation that’s at the other blogs. Appreciate your sharing this greatest doc.

  26. ChesterFus表示:

    online pharmacy canada: reputable canadian online pharmacy – online canadian pharmacy

  27. RobertPaync表示:

    Agb Mexico Pharm buying prescription drugs in mexico online mexican border pharmacies shipping to usa

  28. Thanks for helping me to attain new thoughts about computers. I also have belief that one of the best ways to help keep your notebook computer in perfect condition is to use a hard plastic material case, and also shell, that fits over the top of the computer. A lot of these protective gear usually are model distinct since they are made to fit perfectly on the natural housing. You can buy these directly from the owner, or via third party sources if they are available for your laptop computer, however not all laptop can have a cover on the market. Once again, thanks for your tips.

  29. MatthewTek表示:

    http://gocanadapharm.com/# canada drugs online reviews

  30. EdwinWency表示:

    best canadian online pharmacy: canadian pharmacy meds – trusted canadian pharmacy

發佈回覆給「ChesterFus」的留言 取消回覆

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