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 } }
Смотреть здесь vodkabet
узнать больше vodkabet водка казино
usa canada pharm: USACanadaPharm – usa canada pharm
можно проверить ЗДЕСЬ зеркало vodkabet
https://usacanadapharm.shop/# usa canada pharm
canadian neighbor pharmacy: usa canada pharm – canadianpharmacymeds
canadian pharmacy online reviews: USACanadaPharm – best rated canadian pharmacy
Thanks for the helpful content. It is also my belief that mesothelioma has an extremely long latency period, which means that signs and symptoms of the disease may not emerge until eventually 30 to 50 years after the preliminary exposure to asbestos. Pleural mesothelioma, that’s the most common style and affects the area around the lungs, could potentially cause shortness of breath, upper body pains, along with a persistent cough, which may lead to coughing up maintain.
такой водка бэт
содержание vodkabet водка казино
Thanks for your publication on this blog. From my own personal experience, there are occassions when softening upwards a photograph may provide the photography with a little an artistic flare. Oftentimes however, the soft cloud isn’t precisely what you had as the primary goal and can frequently spoil a normally good photograph, especially if you intend on enlarging it.
USACanadaPharm: canadian pharmacy world – usa canada pharm
USACanadaPharm: usa canada pharm – canadian drugs online
https://usacanadapharm.shop/# USACanadaPharm
onlinecanadianpharmacy usa canada pharm canadian king pharmacy
Hi, Neat post. There is a problem with your site in internet explorer, would test this? IE still is the market leader and a big portion of people will miss your excellent writing due to this problem.
http://usacanadapharm.com/# usa canada pharm
canada discount pharmacy: USACanadaPharm – usa canada pharm
USACanadaPharm: best rated canadian pharmacy – USACanadaPharm
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем:сервис центры бытовой техники москва
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
usa canada pharm USACanadaPharm usa canada pharm
northern pharmacy canada: ed meds online canada – USACanadaPharm
USACanadaPharm: USACanadaPharm – canadian pharmacy phone number
canadian neighbor pharmacy: usa canada pharm – canadian family pharmacy
Great, thanks for sharing this post.Really looking forward to read more. Cool.
One thing is that one of the most popular incentives for applying your credit cards is a cash-back or rebate provision. Generally, you’re going to get 1-5 back in various buying. Depending on the card, you may get 1 back again on most acquisitions, and 5 back again on expenses made from convenience stores, gas stations, grocery stores and also ‘member merchants’.
online canadian pharmacy: canadianpharmacymeds com – best online canadian pharmacy
http://usacanadapharm.com/# canadapharmacyonline
Читать далее Программирование
USACanadaPharm: canadian pharmacies – vipps approved canadian online pharmacy