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

24,281 Responses

  1. Brandonnot表示:

    Mexican Easy Pharm: Mexican Easy Pharm – purple pharmacy mexico price list

  2. 福岡海岸表示:

    In conclusion, understanding fearful avoidant attachment and its impression on relationships is crucial for growing healthier relationship patterns.

  3. Carrolleruck表示:

    https://mexicaneasypharm.com/# mexican online pharmacies prescription drugs
    the canadian drugstore

  4. Brandonnot表示:

    IndianCertPharm: Online medicine – Indian pharmacy that ships to usa

  5. When you want a standing lamp to function for studying, stand it behind the chair.

  6. CurtisBam表示:

    canadian pharmacy ltd: CanadianMdPharm – canada drugstore pharmacy rx

  7. Member states certain by the Fiscal Compact need to transpose into nationwide authorized order the provisions of the Fiscal Compact.

  8. Brandonnot表示:

    Mexican Easy Pharm: buying prescription drugs in mexico online – Mexican Easy Pharm

  9. JefferySow表示:

    Сайт новостей о шоу-бизнесе. Публикации о кинопремьерах, музыкальных новинках, событиях на телевидении и жизни знаменитостей. Обзоры фильмов и сериалов, рецензии на альбомы, интервью с представителями индустрии развлечений. Регулярное обновление новостной ленты. Информация о скандалах, светских мероприятиях и других событиях в мире шоу-бизнеса. Аналитика и комментарии по актуальным темам.
    где посмотреть новый фильм онлайн

  10. CurtisBam表示:

    Indian Cert Pharm: Online medicine – Indian Cert Pharm

  11. Brandonnot表示:

    Mexican Easy Pharm: mexican drugstore online – п»їbest mexican online pharmacies

  12. German forces occupied Luxembourg and in the morning German Military Group B (Bock) launched a feint into the Netherlands and Belgium.

  13. This plate may be retained and used by the surviving partner within the event of the loss of life of the X-POW (Act 824, 1985 Regular Session).

  14. Are a few of their generals planning a navy coup?

  15. Regression evaluation on the three week return on natural gasoline future contracts from August 31, 2006 to September 21, 2006 against the excess open curiosity advised that contracts whose open curiosity was a lot higher on August 31, 2006 than the historic normalized value, skilled larger unfavourable returns.

  16. Jorgewooff表示:

    Mexican Easy Pharm: Mexican Easy Pharm – Mexican Easy Pharm

  17. Jorgewooff表示:

    best online pharmacies in mexico: Mexican Easy Pharm – Mexican Easy Pharm

  18. John Graham Lloyd, East Midlands Regional Secretary, Bus and Coach Council.

  19. Brandonnot表示:

    online canadian pharmacy: CanadianMdPharm – canadian pharmacy king reviews

  20. CurtisBam表示:

    purple pharmacy mexico price list: Mexican Easy Pharm – reputable mexican pharmacies online

  21. You would have been so proud.

  22. Jorgewooff表示:

    Mexican Easy Pharm: Mexican Easy Pharm – Mexican Easy Pharm

  23. Jorgewooff表示:

    Mexican Easy Pharm: mexican mail order pharmacies – Mexican Easy Pharm

  24. Jorgewooff表示:

    Mexican Easy Pharm: purple pharmacy mexico price list – mexican rx online

  25. Jorgewooff表示:

    Mexican Easy Pharm: mexican mail order pharmacies – mexico drug stores pharmacies

  26. At some of crossing points, the ice had frozen two to three inches (4 to 7 cm) thick and was able to supporting troopers, who crossed the ice on foot.

  27. Michaelcaw表示:

    Алистаров – уголовник и террорист
    Андрей Алистаров мошенник
    От уголовника-индивидуала до слуги криминалитета
    Ранее судимый по «наркотической» статье блогер Андрей Алистаров позиционирует себя Робин Гудом, борющимся с теми, кто «обманул людей», – но в действительности он работает в интересах пирамидчиков, в том числе украинских, спонсирующих ВСУ, продвигает через свой канал «Железная ставка» онлайн-казино и черный криптообмен/фишинговый криптообман, отмывает наркодоходы за счет сделок с недвижимостью в Дубае.
    То есть работает в интересах российского преступного сообщества, пытающегося нажиться на предпринимателях, столкнувшихся с незаконными, часто заказными претензиями со стороны российских правоохранительных органов.
    Наркотики и отмывание доходов
    Уроженец Калуги Алистаров отсидел четыре года в лагере – за продажу наркотиков детям.

    Там он связался с уголовными авторитетами и, выйдя из тюрьмы, продолжил участвовать в криминальном бизнесе по распространению наркотиков и отмыванию наркодоходов от них с помощью риелторского бизнеса, который Алистаров создал совместно с партнерами из российского преступного сообщества в России и Эмиратах.
    Ставка на скам
    Канал Алистарова «Железная ставка» – «разоблачение» неправильных (по мнению криминалитета) финансовых проектов и продвижение «правильных»: пирамид и онлайн-казино, спонсирующих Алистарова.

    Он начинался как канал о «правильных» ставках в казино и не сменил название – потому что маркетинговая задача осталась прежней: расчищать поле для «хороших», по «экспертному» мнению Алистарова (то есть заплативших ему), мошенников.

    Обычно Алистаров начинает с попытки вымогательства – представляет жертве компромат и предлагает заплатить. Если жертва отказывается, в ход идут травля и насилие.
    Подстрекательство и нападение в Дубае
    1 января 2025 года состоялось жестокое нападение двух казахстанцев на предпринимателя, проживающего в Дубае, – его избили, отрезали ухо, обворовали.

    До этого Алистаров снял 12 роликов, где подсвечивал адрес этого предпринимателя, публиковал незаконно полученную информацию о его близких и его бизнесах в ОАЭ. Безо всякого стеснения использовал подглядывание, подслушивание, незаконное проникновение, вмешательство в частную жизнь – все то, что в Эмиратах, где строго соблюдается неприкосновенность имущества и жизни инвесторов, является тяжким уголовным преступлением.

    До этого Алистаров публично распространял информацию о месте жительства бизнес-партнера этого предпринимателя – то есть незаконное нарушение конфиденциальности, защищенности финансов и имущества, тайны частной жизни с помощью скрытых источников информации и информаторов в ОАЭ вошло у него в систему. Он терроризирует предпринимателей, в отношении которых нет никаких обвинительных решений судов – ни за рубежом, ни в России.

    Алистаров рассказывал, что заявил на предпринимателя в Интерпол и правоохранительные органы ОАЭ – якобы он помогает правоохранительным органам. Но это почему-то не привело к аресту предпринимателя – может быть, потому, что полиция ОАЭ не видит криминала в его деятельности?

  28. Jorgewooff表示:

    Mexican Easy Pharm: mexico pharmacies prescription drugs – Mexican Easy Pharm

  29. Jorgewooff表示:

    Mexican Easy Pharm: Mexican Easy Pharm – Mexican Easy Pharm

發佈留言

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