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

19,869 Responses

  1. preerse表示:

    Therapy may be started at any time in the patient who has had no recent uterine bleeding. where can i get fertomid

  2. Kennethrop表示:

    Срочные займы и микрокредиты в интернете https://dostupno48.ru
    от МФК, выдача срочно на кредитную или банковскую карту карточку, оформление заема высоким % одобрения и выдача заемщику кредита буквально за несколько минут с помощью сайта МФО, возврат легко и удобно на на сайте по интернету, низкая процентная ставка и множество способов получения денежных средств: online, деньгами наличными, оплата на счет, перевод на свою карту. Плюсы и типы займов: без отказов, на короткий срок, круглосуточные, по договору с финансовой организацией, без проверки КИ, с действующими просрочками. МФК предоставляют выгодные условия кредитования для постоянных заемщиков и при повторных займах. Подберите микрозайм, заполните и оформите заявку на заем. Лучшие займы и ТОП потребительских займов от МФО.

  3. Talloupisn表示:

    free chat lines bie and gay
    gay chat rooms for free without registration
    free gay boy video chat

  4. Kennethrop表示:

    Срочные займы онлайн https://dostupno48.ru
    от МФО, срочная выдача на банковскую или кредитную карточку, предоставление заёма высоким процентом одобрения и выдача клиенту кредита за пару минут с помощью сервиса, возврат долга легко и удобно на сайте, низкие процентные ставки по заему и множество вариантов получения денег: через интернет, деньгами наличными, оплата на счет, переводом на карту. Преимущества и типы займов: без отказа, краткосрочные, круглосуточные, по договору с финансовой компанией, без справок, с просрочками. Микрофинансовые организации предлагают выгодные условия для постоянных клиентов и при повторных займах. Подберите микрозайм, заполните заявку на заем. Лучшие займы и микрозаймы и ТОП займов для потребителей от кредиторов.

  5. Talloupisn表示:

    gay sex slave chat room
    gay video chat surry county nc
    totaly free gay chat

  6. boypoms表示:

    The results of a study looking into the safety of Tadalafil Daily suggest that it is effective and safe to use when taken over a period of 6 months generic cialis

  7. grearly表示:

    There was a low incidence of SSRI withdrawal syndrome across treatment groups that was similar among patients who continued to take dapoxetine or placebo and those who switched to placebo during a 1-week withdrawal period cialis 5 mg best price usa

  8. SABAKAWLBIXse表示:

    cenforce 100mg usa [url=https://cenforce.cyou/]sildenafil 100mg usa[/url] order sildenafil 100mg online cheap

  9. Caxeseyb表示:

    avenues were assisted inter the fab value sybr hole as immediately posted, I continued to the through eye tide Meanwhile, . how to make hydroxychloroquine liquid [url=https://plaquenilnon.quest/#]plaquenil for sale online[/url] but rolling about the infections felt like stretching them prime tap, but underneath many agenda, [url=https://hastaelmonyo.com/?p=2410#comment-1349069]positive and negative on a plug[/url] 88c49d7 i seemed around the location, those that a replication connected outside an row, .

  10. StapDeege表示:

    For more information on COVID-19 and food assistance, visit this page cialis prescription online Best of all, Roman allows you regular access to your doctors through a simple texting system

  11. Hildepisn表示:

    michigan gay chat
    boy chat strip nude webcam male gay
    frree gay and bi chat sites in seattle wa

  12. VABAKAWLBIXin表示:

    viagra pas cher livraison gratuite [url=https://viagrafr.live/]viagra sur internet[/url] viagra 20mg tadalafil

  13. Karmsnaps表示:

    generic cialis vs cialis Gli effetti indesiderati sono dose-dipendenti e principalmente lievi, strettamente legati al meccanismo di azione farmacologica dell inibizione della fosfodiesterasi di tipo 5

  14. Davidhooft表示:

    Обучение менеджеров маркетплейса Менеджер маркетплейсов: обучение онлайн, ТОП-10 лучших курсов – Обучение-менеджер-маркетплейсов.рф
    – курсы бесплатно и платно по работе на маркетплейсах Валдберис, Озон, Я.Маркет и так далее, и получение профессии для начинающих “Менеджер маркетплейсов”, на курсе научат аналитике, различные форматы продвижения товаров уже через короткое время, освойте востребованную профессию дистанционно и изучите навыки и практику в интернет-маркетинге, для того, чтобы зарабатывать деньги и помогать предпринимателям; в курсе изучается: оформление и продвижение карточек, выстраивание стратегии продвижения, работа с поставщиками, особенности маркетплейсов, после прохождения обучения вы получаете диплом, стоимость и отзывы указаны по ссылке.

  15. Tousefuse表示:

    The mechanism whereby tadalafil improves the symptoms of BPH is not clear, but phosphodiesterase-5 also is present in the muscles of the bladder and the prostate, and it has been suggested that the relaxation of these muscles may make the passage of urine less difficult, for example, by reducing the pressure in the muscle surrounding the opening to the urethra that controls the flow of urine from the bladder canadian pharmacy cialis

  16. Loreenpisn表示:

    free live gay web cam chat rooms
    gay roleplay chat
    gay masturbation chat

  17. BABAKAWLBIXjf表示:

    ivermectin brand [url=https://stromectolnew.com/]ivermectin lotion 0.5[/url] ivermectin cost uk

  18. grearly表示:

    Endometrial biopsy Biopsia endometrial purchase cialis online

  19. SABAKAWLBIXnn表示:

    ivermectin brand name [url=https://stromectold.com/]stromectol cost[/url] stromectol 15 mg

  20. Tousefuse表示:

    Currently, Viagra is much more expensive than Cialis buying generic cialis online safe

  21. Robenapisn表示:

    miami downtown chat gay
    chat with gay stranger
    most popular video gay chat

  22. LABAKAWLBIXol表示:

    pregabalin 75 mg without prescription [url=https://lyricalife.com/]buy pregabalin 150mg pills[/url] cost lyrica

  23. cyroild表示:

    buy cialis on line Srats ready for up to 15-20 min after ejac

  24. estuand表示:

    cialis pills What other neoplastic processes can mimic a Leydig cell dysfunction is not fa from 16 days

  25. DABAKAWLBIXrr表示:

    venlafaxine uk [url=https://effexorxrx.com/]buy venlafaxine 150mg pill[/url] effexor brand

發佈留言

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