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 } }
pharmacie en ligne avec ordonnance: pharmacie en ligne fiable – п»їpharmacie en ligne france
I?m impressed, I have to say. Actually hardly ever do I encounter a weblog that?s each educative and entertaining, and let me inform you, you have got hit the nail on the head. Your concept is outstanding; the problem is something that not enough persons are speaking intelligently about. I am very glad that I stumbled across this in my seek for something relating to this.
pharmacie en ligne france livraison belgique pharmacie en ligne pharmacie en ligne pas cher
Thanks for the suggestions shared on the blog. Yet another thing I would like to talk about is that losing weight is not all about going on a celebrity diet and trying to reduce as much weight as you can in a set period of time. The most effective way to lose weight is by taking it little by little and using some basic tips which can assist you to make the most through your attempt to lose fat. You may realize and already be following most of these tips, yet reinforcing expertise never affects.
журнал о красоте https://www.zhurnal-o-krasote11.ru .
pharmacie en ligne france fiable: pharmacie en ligne france pas cher – vente de médicament en ligne
Cassino para jogadores de sucesso Fortune Tiger
Cassino on-line lider Fortune Tiger
gГјnstigste online apotheke: online apotheke deutschland – online apotheke preisvergleich
I?ll immediately grab your rss feed as I can not find your e-mail subscription link or newsletter service. Do you have any? Please let me know so that I could subscribe. Thanks.
farmaci senza ricetta elenco: top farmacia online – farmacia online senza ricetta
Eu recomendo este cassino a todos Fortune Tiger
Um cassino em que voce pode confiar Fortune Tiger
pharmacie en ligne pas cher: pharmacie en ligne livraison europe – pharmacie en ligne
online apotheke versandkostenfrei: gГјnstigste online apotheke – gГјnstigste online apotheke
Farmacie online sicure: farmacie online sicure – Farmacie on line spedizione gratuita
farmacia online madrid farmacias online seguras farmacia en casa online descuento
п»їpharmacie en ligne france pharmacie en ligne Achat mГ©dicament en ligne fiable
полусухая стяжка пола в квартире цена https://mekhanizirovannaya-shtukaturka15.ru .
farmaci senza ricetta elenco farmaci senza ricetta elenco farmaci senza ricetta elenco
https://eufarmaciaonline.com/# farmacia online barata y fiable
Pharmacie Internationale en ligne: pharmacie en ligne france livraison belgique – pharmacie en ligne
pharmacie en ligne france pas cher: pharmacie en ligne fiable – pharmacie en ligne france livraison belgique
online apotheke preisvergleich: gГјnstige online apotheke – gГјnstigste online apotheke
acheter médicament en ligne sans ordonnance: pharmacie en ligne france livraison internationale – pharmacie en ligne pas cher
farmacia online più conveniente: top farmacia online – Farmacia online migliore
vente de mГ©dicament en ligne Pharmacie sans ordonnance pharmacie en ligne fiable
beste online-apotheke ohne rezept europa apotheke online apotheke gГјnstig
farmacias online seguras farmacia online envГo gratis farmacia online 24 horas
https://euapothekeohnerezept.shop/# internet apotheke