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 } }
I take pleasure in, lead to I found exactly what I used to be taking a look for. You have ended my four day long hunt! God Bless you man. Have a great day. Bye
Interesting article. It is very unfortunate that over the last years, the travel industry has already been able to to fight terrorism, SARS, tsunamis, flu virus, swine flu, as well as the first ever entire global tough economy. Through all this the industry has really proven to be robust, resilient and also dynamic, getting new methods to deal with adversity. There are always fresh troubles and opportunities to which the market must once again adapt and reply.
https://www.ocpinfo.com/about/consultations
https://lalanoleto.com.br/inspiracoes-para-um-natal-cheio-de-significado/?replytocom=326534
I believe this is among the most significant info for me. And i’m happy studying your article. However wanna statement on some normal things, The web site style is perfect, the articles is truly nice : D. Excellent activity, cheers
https://www.danijelasurtov.com/496/?replytocom=11081
https://autolux-azerbaijan.com/# Pin Up Azerbaycan ?Onlayn Kazino
Good day! Would you mind if I share your blog with my twitter group? There’s a lot of people that I think would really appreciate your content. Please let me know. Many thanks
dip-vuz.ru/kupit-diplom-v-tyumeni/index.html
connect.nteep.org/blogs/753/Where-can-I-buy-a-diploma-or-certificate-at-an?lang=tr_tr
77lub.ru/products/small-engine-oils/
http://www.360nhadep.com/tag/dong-tu-menh-hop-huong-nao/
pittsburghpenguinsclub.com/read-blog/189_why-is-the-popularity-of-universities-constantly-declining-today.html?mode=day
Hey there, I think your website might be having browser compatibility issues. When I look at your blog in Ie, it looks fine but when opening in Internet Explorer, it has some overlapping. I just wanted to give you a quick heads up! Other then that, awesome blog!
pin-up 141 casino: Pin Up Azerbaycan – ?Onlayn Kazino
https://blogs.helsinki.fi/hilife-trainees/evert-environmental-sciences-bsc
https://autolux-azerbaijan.com/# pin-up 141 casino
pin-up360: Pin-up Giris – pin-up360
Pin Up Kazino ?Onlayn: Pin-up Giris – Pin Up
https://autolux-azerbaijan.com/# pin-up360
Pin Up Azerbaycan: pin-up360 – ?Onlayn Kazino
https://autolux-azerbaijan.com/# Pin Up Azerbaycan
pin-up kazino: Pin Up Azerbaycan – pin-up 141 casino
Pin-Up Casino: pin-up360 – pin-up 141 casino
https://autolux-azerbaijan.com/# ?Onlayn Kazino
Can you tell us more about this? I’d like to find out some additional information.
gadjetforyou.ru/kupit-diplom-10
http://www.vinhphatmobile.com/contact/
hellohome.ir/en/agent/mahyar-shahbazi/
belobog1.freehostia.com/phpBB2/profile.php?mode=viewprofile&u=177187
childtemperament.org/index.php?lang=es
https://autolux-azerbaijan.com/# Pin up 306 casino
O cassino que todos recomendam Blaze
A casa dos grandes vencedores Blaze
Pin up 306 casino: Pin Up Azerbaycan – Pin Up Azerbaycan ?Onlayn Kazino
https://Dr-nona.ru/ – доктор нонна
Seu cassino de confianca online Blaze
Hmm is anyone else having problems with the pictures on this blog loading? I’m trying to find out if its a problem on my end or if it’s the blog. Any feedback would be greatly appreciated.
stroimnsk.ru/wooden/proekt-derevyannogo-doma-iz-profilirovannogo-brusa-skazka-100/
bestcoolfun.ru/page/32
adventure-vinwonders.com/vi/bai-viet-du-lich/an-gi-o-phu-quoc-top-30-dac-san-phu-quoc-cuc-ninh-mieng-du-khach/
brisbaneglobaltens.com/tournament/brisbane
ifvex.com/blogs/2501/Why-is-the-popularity-of-higher-education-decreasing-in-our
O cassino que oferece as melhores condicoes Blaze
As melhores slots estao aqui Blaze