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 slot garuda888 slot Kasino mendukung permainan bertanggung jawab
Kasino selalu memperbarui mesin slotnya: preman69 – preman69.tech
Thanks for the tips about credit repair on this excellent web-site. What I would offer as advice to people will be to give up the particular mentality that they may buy right now and pay later. As a society we tend to make this happen for many factors. This includes trips, furniture, along with items we wish. However, it is advisable to separate the wants out of the needs. While you are working to improve your credit score you really have to make some trade-offs. For example you may shop online to save cash or you can go to second hand suppliers instead of costly department stores for clothing.
Mesin slot sering diperbarui dengan game baru: BonaSlot – BonaSlot
Appreciating the dedication you put into your website and in depth information you present. It’s nice to come across a blog every once in a while that isn’t the same old rehashed information. Great read! I’ve saved your site and I’m adding your RSS feeds to my Google account.
http://slot88.company/# Slot dengan pembayaran tinggi selalu diminati
Mesin slot menawarkan berbagai tema menarik http://slot88.company/# Jackpot progresif menarik banyak pemain
Permainan slot mudah dipahami dan menyenangkan: slot demo – slot demo
Jackpot besar bisa mengubah hidup seseorang https://slot88.company/# Kasino menawarkan pengalaman bermain yang seru
http://slot88.company/# Mesin slot dapat dimainkan dalam berbagai bahasa
Beberapa kasino memiliki area khusus untuk slot http://garuda888.top/# Slot klasik tetap menjadi favorit banyak orang
preman69.tech preman69.tech Jackpot besar bisa mengubah hidup seseorang
https://bonaslot.site/# Slot menjadi daya tarik utama di kasino
Slot dengan fitur interaktif semakin banyak tersedia https://garuda888.top/# Slot memberikan kesempatan untuk menang besar
https://garuda888.top/# Kasino mendukung permainan bertanggung jawab
I’m really enjoying the design and layout of your site. It’s a very easy on the eyes which makes it much more pleasant for me to come here and visit more often. Did you hire out a designer to create your theme? Outstanding work!
Kasino menawarkan pengalaman bermain yang seru: BonaSlot – bonaslot.site
In the commodity trading there is least trading size so you need to purchase or sell certain size.
Mesin slot sering diperbarui dengan game baru: demo slot pg – akun demo slot
Slot menjadi bagian penting dari industri kasino http://slotdemo.auction/# Mesin slot sering diperbarui dengan game baru
Slot dengan fitur interaktif semakin banyak tersedia http://bonaslot.site/# Banyak kasino memiliki program loyalitas untuk pemain
https://slotdemo.auction/# Pemain sering mencoba berbagai jenis slot
Kasino memiliki suasana yang energik dan menyenangkan: akun demo slot – slot demo
Someone essentially lend a hand to make severely articles I’d state. This is the first time I frequented your website page and up to now? I surprised with the research you made to make this particular publish incredible. Wonderful task!
Slot klasik tetap menjadi favorit banyak orang http://garuda888.top/# Kasino di Bali menarik banyak pengunjung
http://bonaslot.site/# Slot menjadi daya tarik utama di kasino
Jackpot besar bisa mengubah hidup seseorang: preman69.tech – preman69.tech
купить диплом о медицинском образовании
https://ucgp.jujuy.edu.ar/profile/Blackshisha0212/
Thanks for giving your ideas. The one thing is that college students have an option between government student loan along with a private education loan where it is easier to choose student loan debt consolidation reduction than in the federal student loan.