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 } }
garuda888.top garuda888 Keseruan bermain slot selalu menggoda para pemain
Beberapa kasino memiliki area khusus untuk slot: slot demo gratis – slot demo pg gratis
п»їKasino di Indonesia sangat populer di kalangan wisatawan http://bonaslot.site/# Jackpot besar bisa mengubah hidup seseorang
Kasino selalu memperbarui mesin slotnya http://garuda888.top/# Slot dengan grafis 3D sangat mengesankan
Beberapa kasino memiliki area khusus untuk slot https://slot88.company/# Banyak pemain menikmati jackpot harian di slot
https://slot88.company/# Kasino menyediakan layanan pelanggan yang baik
I have really noticed that credit improvement activity should be conducted with techniques. If not, it’s possible you’ll find yourself destroying your standing. In order to realize your aspirations in fixing your credit history you have to always make sure that from this instant you pay all your monthly expenses promptly in advance of their appointed date. It really is significant for the reason that by not accomplishing this, all other actions that you will decide to use to improve your credit positioning will not be efficient. Thanks for expressing your tips.
http://slot88.company/# Banyak pemain berusaha untuk mendapatkan jackpot
slot demo slot demo Slot dengan bonus putaran gratis sangat populer
Kasino memiliki suasana yang energik dan menyenangkan: slot demo – slot demo
Permainan slot mudah dipahami dan menyenangkan http://slot88.company/# Slot dengan fitur interaktif semakin banyak tersedia
As I web site possessor I believe the content material here is rattling magnificent , appreciate it for your efforts. You should keep it up forever! Best of luck.
Pemain sering berbagi tips untuk menang: BonaSlot – bonaslot
Pemain sering berbagi tips untuk menang: garuda888.top – garuda888 slot
купить диплом ссср о среднем образовании
Banyak pemain menikmati bermain slot secara online http://preman69.tech/# Slot memberikan kesempatan untuk menang besar
Slot dengan pembayaran tinggi selalu diminati http://bonaslot.site/# Permainan slot mudah dipahami dan menyenangkan
Slot menjadi daya tarik utama di kasino https://preman69.tech/# Jackpot besar bisa mengubah hidup seseorang
Mesin slot dapat dimainkan dalam berbagai bahasa http://bonaslot.site/# Banyak kasino memiliki program loyalitas untuk pemain
Slot dengan fitur interaktif semakin banyak tersedia https://preman69.tech/# Keseruan bermain slot selalu menggoda para pemain
https://slotdemo.auction/# Kasino selalu memperbarui mesin slotnya
http://bonaslot.site/# Pemain harus menetapkan batas saat bermain
I used to be suggested this blog by means of my cousin. I am no longer sure whether this put up is written by way of him as nobody else know such targeted about my trouble. You are wonderful! Thank you!
п»їKasino di Indonesia sangat populer di kalangan wisatawan: garuda888.top – garuda888 slot
Kasino menyediakan layanan pelanggan yang baik https://bonaslot.site/# Banyak pemain berusaha untuk mendapatkan jackpot
Slot dengan tema film terkenal menarik banyak perhatian https://slotdemo.auction/# Kasino memiliki suasana yang energik dan menyenangkan
Slot menawarkan berbagai jenis permainan bonus https://bonaslot.site/# Slot klasik tetap menjadi favorit banyak orang
Banyak pemain mencari mesin dengan RTP tinggi: slot demo gratis – slotdemo
https://slot88.company/# Pemain harus menetapkan batas saat bermain
http://slot88.company/# Kasino menyediakan layanan pelanggan yang baik