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

16,804 Responses

  1. Individual stocks can go to zero but it is tougher for a fund to do so.

  2. DennishIp表示:

    ED meds online with insurance: erepharm.com – ED meds online with insurance

  3. вывод из запоя стационар ростов http://www.rubiz.forum.cool/viewtopic.php?id=3745 .

  4. RobertPlork表示:

    buy gabapentin: GabaPharm Gabapentin – Buy gabapentin for humans

  5. The stuffed animal that was meant to symbolize the retirement of Beanie Child’s production line was a black bear, simply called “The top.” The company continued manufacturing when it was confronted with backlash from Beanie Baby enthusiasts world wide.

  6. Open the website, enter a nickname, create a game room, and ship the invite hyperlink to your friends.

  7. Sólo éxitos: año a año, 1959-2002 (PDF) (in Spanish) (1st ed.).

  8. GFC pursues this mission by making small grants to revolutionary community-primarily based organizations that present providers and applications for youngsters that government and large help organizations typically do not reach.

  9. Speaking to The Solar, Will mentioned: ‘We practiced a couple of instances and I used to be actually careful.

  10. CurtisCem表示:

    furosemide furpharm.com fur pharm furpharm

  11. LloydNoice表示:

    https://gabapharm.com/# cheapest Gabapentin GabaPharm

  12. Have an grownup assist you with the sharp knife!

  13. Assume about fashioning a house workplace with a sofa that opens right into a mattress to accommodate company.

  14. A supply said: ‘The man in query felt very much victimized by the behaviour of his Strictly associate.

  15. For essentially the most half, Zoroastrianism doesn’t have a notion of reincarnation, at the least not until the final renovation of the world.

  16. Chief Petty Officer Steward Leung Chiu, O.1825.

  17. 1940s. Subsequently, Pitt is the one Western Pennsylvania collegiate program that continues to play college football at the highest level, at present identified because the Division I Soccer Bowl Subdivision.

  18. Sew a size of tape on the sting of one of the quick sides.

  19. wool product表示:

    Hey there! Do you know if they make any plugins to help with Search Engine Optimization? I’m trying to get
    my site to rank for some targeted keywords but I’m not seeing very good results.
    If you know of any please share. Many thanks! You can read similar art here:
    Warm blankets

  20. The top tables do not must match, however neither one should overpower the opposite.

  21. While it’s nice to take a seat back, loosen up, and let the prepare take the strain, after i look out of the window I see crops that farmers were unable to harvest – soil in poor condition and pooled with water; a patchy panorama where once crop growth would have been full and consistent throughout the fields.

  22. You possibly can use cell phone, computer, and VoIP to send and obtain calls.

  23. Тут можно преобрести купить шкаф для оружия оружейные шкафы в москве

  24. RileyBok表示:

    Viagra * Cialis * Levitra

    All the products you are looking seeking are currently at one’s disposal for the duration of 1+1.

    4 more tablets of unified of the following services: Viagra * Cialis * Levitra

    https://pxman.net

  25. James McDonald, OBE, Her Majesty’s Consul at Portland, Oregon.

  26. For providers in furthering worldwide relationships.

發佈留言

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