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

11,132 Responses

  1. AlbertBlelf表示:

    best online pharmacies in mexico: medicine in mexico pharmacies – mexican drugstore online

  2. ManuelinceX表示:

    buying prescription drugs in mexico mexico drug stores pharmacies mexican border pharmacies shipping to usa

  3. RobertZopof表示:

    mexican mail order pharmacies: mexican drugstore online – mexican drugstore online

  4. KennethProra表示:

    http://mexicanpharmacy1st.com/# mexican pharmacy

  5. Thomasfrape表示:

    mexican drugstore online: purple pharmacy mexico price list – purple pharmacy mexico price list

  6. RobertZopof表示:

    mexican drugstore online: best mexican online pharmacies – mexican online pharmacies prescription drugs

  7. ManuelinceX表示:

    mexico pharmacies prescription drugs п»їbest mexican online pharmacies mexico pharmacies prescription drugs

  8. Cwincf表示:

    brand cialis switch – brand levitra gather penisole soar

  9. Williamdet表示:

    https://mexicanpharmacy1st.com/# buying prescription drugs in mexico

  10. Williamdet表示:

    http://mexicanpharmacy1st.com/# mexico drug stores pharmacies

  11. AlbertBlelf表示:

    mexican border pharmacies shipping to usa: medicine in mexico pharmacies – buying from online mexican pharmacy

  12. Williamdet表示:

    https://mexicanpharmacy1st.com/# medication from mexico pharmacy

  13. ManuelinceX表示:

    mexico drug stores pharmacies buying prescription drugs in mexico mexican pharmaceuticals online

  14. RobertZopof表示:

    purple pharmacy mexico price list: pharmacies in mexico that ship to usa – purple pharmacy mexico price list

  15. EarnestFrurn表示:

    Сегодня, когда диплом является началом успешной карьеры в любой области, многие стараются найти максимально быстрый путь получения качественного образования. Факт наличия официального документа об образовании трудно переоценить. Ведь именно диплом открывает дверь перед любым человеком, желающим вступить в сообщество профессионалов или учиться в любом ВУЗе.
    Мы предлагаем максимально быстро получить этот необходимый документ. Вы можете приобрести диплом, и это будет удачным решением для человека, который не смог закончить образование, утратил документ или хочет исправить плохие оценки. Все дипломы выпускаются аккуратно, с особым вниманием ко всем деталям, чтобы в результате получился документ, 100% соответствующий оригиналу.
    Преимущество этого подхода состоит не только в том, что вы максимально быстро получите диплом. Весь процесс организован комфортно и легко, с нашей поддержкой. Начиная от выбора требуемого образца до точного заполнения личной информации и доставки в любой регион страны — все находится под полным контролем квалифицированных мастеров.
    Таким образом, для тех, кто ищет быстрый способ получить требуемый документ, наша компания готова предложить выгодное решение. Купить диплом – это значит избежать долгого процесса обучения и сразу перейти к достижению собственных целей, будь то поступление в университет или старт карьеры.
    http://vuzdiploma.ru

  16. Thomasfrape表示:

    mexican border pharmacies shipping to usa: mexican border pharmacies shipping to usa – best online pharmacies in mexico

  17. ManuelinceX表示:

    buying prescription drugs in mexico mexico drug stores pharmacies reputable mexican pharmacies online

  18. RobertZopof表示:

    mexican mail order pharmacies: mexican rx online – buying prescription drugs in mexico online

  19. AlbertBlelf表示:

    buying prescription drugs in mexico online: buying from online mexican pharmacy – mexican online pharmacies prescription drugs

  20. RobertZopof表示:

    best online pharmacies in mexico: mexico pharmacies prescription drugs – buying prescription drugs in mexico online

  21. ManuelinceX表示:

    reputable mexican pharmacies online purple pharmacy mexico price list mexican pharmacy

  22. Williamdet表示:

    https://mexicanpharmacy1st.online/# best online pharmacies in mexico

  23. Williamdet表示:

    https://mexicanpharmacy1st.online/# mexican rx online

  24. Timsothyabela表示:

    An outstanding share! I have just forwarded this onto a friend who had been doing a little homework on this. And he in fact bought me lunch due to the fact that I stumbled upon it for him… lol. So let me reword this…. Thanks for the meal!! But yeah, thanx for spending time to talk about this topic here on your web site.
    http://server-attestats.com

  25. Отличный сайт!Рекомендую!http://ac-holding.ru/

  26. A escolha dos profissionais no mundo dos cassinos Blaze

  27. Williamdet表示:

    https://mexicanpharmacy1st.online/# buying from online mexican pharmacy

  28. RobertZopof表示:

    best online pharmacies in mexico: pharmacies in mexico that ship to usa – mexico drug stores pharmacies

  29. Thomasfrape表示:

    pharmacies in mexico that ship to usa: best online pharmacies in mexico – mexico drug stores pharmacies

發佈留言

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