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 sans ordonnance: levitra generique – Pharmacie Internationale en ligne
Prix du Viagra 100mg en France: viagra en ligne – Viagra pas cher livraison rapide france
https://phenligne.com/# pharmacie en ligne sans ordonnance
pharmacie en ligne livraison europe: pharmacie en ligne sans ordonnance – pharmacie en ligne france fiable
Um cassino com uma excelente reputacao Tigrinho
Achat mГ©dicament en ligne fiable: kamagra 100mg prix – pharmacie en ligne france fiable
florinef hum – fludrocortisone rid prevacid crystal
A melhor opcao de cassinos Tigrinho
Viagra vente libre allemagne: viagra en ligne – Viagra vente libre pays
O cassino mais confiavel Tigrinho
Pharmacie sans ordonnance: levitra generique – pharmacie en ligne france fiable
pharmacie en ligne france pas cher: pharmacie en ligne sans ordonnance – pharmacie en ligne france pas cher
trouver un mГ©dicament en pharmacie: kamagra oral jelly – Achat mГ©dicament en ligne fiable
Eu recomendo o melhor cassino Tigrinho
Pharmacie sans ordonnance: pharmacie en ligne – acheter mГ©dicament en ligne sans ordonnance
Experimente este cassino de primeira linha Tigrinho
pharmacie en ligne sans ordonnance: cialis sans ordonnance – Pharmacie Internationale en ligne
http://jointpain.top/ – pip and dip joint pain
trouver un mГ©dicament en pharmacie: pharmacie en ligne france livraison belgique – pharmacie en ligne france livraison internationale
http://jointpain.top/ – thumb joint pain support
Pharmacie Internationale en ligne: levitra generique sites surs – pharmacie en ligne pas cher
I have realized that over the course of building a relationship with real estate entrepreneurs, you’ll be able to come to understand that, in most real estate exchange, a payment is paid. Eventually, FSBO sellers tend not to “save” the payment. Rather, they struggle to win the commission simply by doing a good agent’s job. In accomplishing this, they commit their money in addition to time to perform, as best they are able to, the responsibilities of an real estate agent. Those responsibilities include uncovering the home by means of marketing, representing the home to prospective buyers, constructing a sense of buyer desperation in order to prompt an offer, making arrangement for home inspections, taking on qualification assessments with the loan provider, supervising maintenance, and aiding the closing.
http://jointpain.top/ – nutrition haks joint pain la thuoc gi
pharmacie en ligne fiable: pharmacie en ligne france livraison internationale – pharmacies en ligne certifiГ©es
Отличный сайт! Всем рекомендую! Тут Вы можете найтиНайти человека
Experimente este cassino de primeira linha Tigrinho
http://jointpain.top/ – joint pain after complete hysterectomy
Eu recomendo um otimo cassino Tigrinho
п»їpharmacie en ligne france: kamagra 100mg prix – pharmacie en ligne france livraison internationale
That is the correct weblog for anybody who desires to seek out out about this topic. You notice so much its virtually laborious to argue with you (not that I really would need?HaHa). You positively put a brand new spin on a topic thats been written about for years. Great stuff, just great!