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 } }
canadian pharmacy no scripts: reputable canadian online pharmacies – USACanadaPharm
canadian pharmacy drugs online vipps approved canadian online pharmacy canadian pharmacy world
http://usacanadapharm.com/# drugs from canada
canadian pharmacy tampa: USACanadaPharm – global pharmacy canada
canada pharmacy: USACanadaPharm – canadian drugstore online
https://usacanadapharm.shop/# USACanadaPharm
usa canada pharm: escrow pharmacy canada – canadian pharmacy price checker
http://usacanadapharm.com/# USACanadaPharm
usa canada pharm: canadian pharmacy – usa canada pharm
USACanadaPharm: usa canada pharm – USACanadaPharm
canadian discount pharmacy vipps approved canadian online pharmacy usa canada pharm
https://usacanadapharm.com/# canadian pharmacy oxycodone
best mail order pharmacy canada: USACanadaPharm – USACanadaPharm
pharmacy rx world canada canadian drug prices canadian pharmacy online store
https://usacanadapharm.com/# USACanadaPharm
usa canada pharm: canadian online drugstore – usa canada pharm
usa canada pharm: usa canada pharm – canada drugs online reviews
https://usacanadapharm.shop/# canadian pharmacy world
Официальный TG канал проекта – 1win casinо, теперь в вашем Telegram! Подробнее тут
https://t.me/Game_1win_ru/862
You actually make it appear so easy along with your presentation but I in finding this topic to be actually something which I believe I’d by no means understand. It sort of feels too complex and extremely large for me. I am looking forward on your subsequent post, I?ll attempt to get the dangle of it!
The convenient Zabljak booking service will help you find the perfect hotel for car travelers and active holiday lovers. A wide range of accommodation: from cozy guest houses to modern hotels with parking, Wi-Fi and breakfast. Book in advance and relax in comfort in the heart of Montenegro!
USACanadaPharm best canadian pharmacy to order from online canadian pharmacy reviews
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем:ремонт бытовой техники в мск
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
usa canada pharm: safe canadian pharmacy – canadian pharmacy near me
my canadian pharmacy: canadian pharmacies online – USACanadaPharm
https://usacanadapharm.com/# USACanadaPharm
USACanadaPharm: usa canada pharm – canada drugs reviews
What an informative and thoroughly-researched article! The author’s meticulousness and capability to present complex ideas in a understandable manner is truly praiseworthy. I’m totally captivated by the breadth of knowledge showcased in this piece. Thank you, author, for offering your wisdom with us. This article has been a game-changer!
magnificent post, very informative. I wonder why the other experts of this sector do not notice this. You should continue your writing. I am sure, you have a huge readers’ base already!
https://usacanadapharm.shop/# USACanadaPharm