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

  1. ElmerWes表示:

    sildenafil online Cheapest place to buy Viagra Cheap Viagra 100mg

  2. Топовая Букмекерская контора – 1win

  3. TylerPhona表示:

    https://cenforce.pro/# cenforce.pro

  4. JamesNow表示:

    Cheapest Sildenafil online: Buy Viagra online cheap – Order Viagra 50 mg online

  5. JamesNow表示:

    cheapest cialis: buy cialis overseas – Cialis over the counter

  6. GeorgeSep表示:

    Cheap Levitra online: Cheap Levitra online – buy Levitra over the counter

  7. ElmerWes表示:

    cheapest cialis buy cialis online Cheap Cialis

  8. CharlesDog表示:

    https://viagras.online/# Cheap Viagra 100mg

  9. CharlesDog表示:

    http://levitrav.store/# Levitra online pharmacy

  10. Lhaneevige表示:

    В нашем мире, где диплом становится началом успешной карьеры в любой области, многие пытаются найти максимально простой путь получения качественного образования. Важность наличия официального документа переоценить попросту невозможно. Ведь именно диплом открывает дверь перед каждым человеком, желающим начать трудовую деятельность или учиться в университете.
    В данном контексте мы предлагаем максимально быстро получить этот важный документ. Вы имеете возможность купить диплом, и это является выгодным решением для всех, кто не смог закончить обучение, потерял документ или желает исправить плохие оценки. Все дипломы производятся с особой тщательностью, вниманием к мельчайшим нюансам, чтобы на выходе получился документ, полностью соответствующий оригиналу.
    Превосходство подобного подхода состоит не только в том, что вы оперативно получите диплом. Процесс организован комфортно, с профессиональной поддержкой. Начиная от выбора требуемого образца диплома до консультаций по заполнению персональных данных и доставки по стране — все под полным контролем наших специалистов.
    Для всех, кто хочет найти быстрый способ получить необходимый документ, наша компания предлагает отличное решение. Купить диплом – это значит избежать длительного обучения и не теряя времени перейти к достижению личных целей: к поступлению в университет или к началу успешной карьеры.
    https://diploman-russiyans.com

  11. CharlesDog表示:

    https://cialist.pro/# п»їcialis generic

  12. ElmerWes表示:

    over the counter sildenafil Viagra Tablet price order viagra

  13. JamesNow表示:

    Generic Viagra online: Buy Viagra online cheap – Viagra without a doctor prescription Canada

  14. Ahvyih表示:

    purchase nitroglycerin for sale – nitroglycerin online purchase diovan pills

  15. TylerPhona表示:

    https://kamagra.win/# Kamagra 100mg price

  16. GichardPheve表示:

    В нашем мире, где диплом – это начало успешной карьеры в любой отрасли, многие ищут максимально быстрый и простой путь получения образования. Наличие официального документа переоценить просто невозможно. Ведь именно он открывает двери перед каждым человеком, желающим начать трудовую деятельность или продолжить обучение в каком-либо ВУЗе.
    В данном контексте мы предлагаем оперативно получить этот важный документ. Вы имеете возможность заказать диплом, и это становится удачным решением для всех, кто не смог закончить обучение, потерял документ или желает исправить плохие оценки. дипломы изготавливаются с особой аккуратностью, вниманием ко всем элементам. В результате вы сможете получить продукт, 100% соответствующий оригиналу.
    Преимущества подобного решения состоят не только в том, что можно быстро получить диплом. Весь процесс организовывается удобно, с профессиональной поддержкой. От выбора необходимого образца документа до консультации по заполнению личных данных и доставки по России — все под абсолютным контролем качественных специалистов.
    Всем, кто хочет найти быстрый способ получения необходимого документа, наша компания может предложить отличное решение. Заказать диплом – значит избежать длительного обучения и не теряя времени переходить к своим целям, будь то поступление в ВУЗ или начало успешной карьеры.
    https://diploman-russiyans.com

  17. DavidOwelo表示:

    http://cenforce.pro/# Cenforce 100mg tablets for sale

  18. JamesNow表示:

    Buy Vardenafil 20mg: buy Levitra over the counter – buy Levitra over the counter

  19. GeorgeSep表示:

    Tadalafil Tablet: Cialis 20mg price in USA – Buy Tadalafil 5mg

  20. JamesNow表示:

    Cenforce 150 mg online: Buy Cenforce 100mg Online – Cenforce 150 mg online

  21. ElmerWes表示:

    Generic Cialis without a doctor prescription cialist.pro Generic Tadalafil 20mg price

  22. CharlesDog表示:

    http://kamagra.win/# buy kamagra online usa

  23. ElmerWes表示:

    Buy Tadalafil 20mg buy cialis online п»їcialis generic

  24. CharlesDog表示:

    http://cialist.pro/# Generic Cialis price

  25. DavidOwelo表示:

    http://cenforce.pro/# Cenforce 150 mg online

  26. CharlesDog表示:

    http://levitrav.store/# Levitra 10 mg buy online

  27. DavidOwelo表示:

    http://cialist.pro/# Buy Cialis online

  28. GeorgeSep表示:

    Viagra tablet online: Cheapest place to buy Viagra – Buy Viagra online cheap

  29. OLaneevige表示:

    В современном мире, где диплом является началом удачной карьеры в любой области, многие ищут максимально быстрый и простой путь получения образования. Наличие официального документа об образовании переоценить невозможно. Ведь диплом открывает двери перед людьми, желающими вступить в сообщество профессионалов или учиться в ВУЗе.
    В данном контексте наша компания предлагает оперативно получить этот важный документ. Вы сможете купить диплом старого или нового образца, и это является отличным решением для человека, который не смог закончить обучение или потерял документ. Все дипломы производятся аккуратно, с максимальным вниманием к мельчайшим элементам. В итоге вы сможете получить продукт, максимально соответствующий оригиналу.
    Превосходство этого решения состоит не только в том, что вы сможете максимально быстро получить диплом. Весь процесс организован комфортно, с профессиональной поддержкой. От выбора требуемого образца до консультации по заполнению персональных данных и доставки по России — все находится под полным контролем наших специалистов.
    Всем, кто хочет найти максимально быстрый способ получить требуемый документ, наша компания может предложить выгодное решение. Заказать диплом – это значит избежать длительного процесса обучения и не теряя времени перейти к достижению личных целей, будь то поступление в университет или начало успешной карьеры.

    https://diploman-rossiya.com

  30. JamesNow表示:

    Vardenafil price: Cheap Levitra online – Generic Levitra 20mg

發佈留言

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