本文實例講述了Java使用DateUtils對日期進(jìn)行數(shù)學(xué)運(yùn)算的方法。分享給大家供大家參考,具體如下:
成都服務(wù)器托管,創(chuàng)新互聯(lián)提供包括服務(wù)器租用、資陽托管服務(wù)器、帶寬租用、云主機(jī)、機(jī)柜租用、主機(jī)租用托管、CDN網(wǎng)站加速、國際域名空間等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:18982081108
最近在寫數(shù)據(jù)上傳的程序,需要對Date進(jìn)行一些數(shù)學(xué)運(yùn)算,個人感覺在java中,日期的數(shù)學(xué)運(yùn)算還是比較常用的,所以把Date的數(shù)學(xué)運(yùn)算都玩了一下。試了一下,發(fā)現(xiàn)DateUtils這個工具類對于Date的數(shù)學(xué)運(yùn)算非常方便,見代碼吧。
package date; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.commons.lang3.time.DateUtils; public class DateCalculate { /** * 日期格式的運(yùn)算 * @param args */ public static void main(String[] args) { System.out.println("創(chuàng)新互聯(lián)測試結(jié)果:"); Date now = new Date(); SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("------當(dāng)前時間--------:" + sd.format(now)); //年: 加、減操作 System.out.println("1年之后:"+sd.format(DateUtils.addYears(now, 1))); System.out.println("1年之前:"+sd.format(DateUtils.addYears(now, -1))); //月: 加、減操作 System.out.println("1個月之后:"+sd.format(DateUtils.addMonths(now, 1))); System.out.println("1個月之前:"+sd.format(DateUtils.addMonths(now, -1))); //周: 加、減操作 System.out.println("1周之后:"+sd.format(DateUtils.addWeeks(now, 1))); System.out.println("1周之前:"+sd.format(DateUtils.addWeeks(now, -1))); //天: 加、減操作 System.out.println("昨天的這個時候:" + sd.format(DateUtils.addDays(now, -1))); System.out.println("明天的這個時候:" + sd.format(DateUtils.addDays(now, 1))); //小時: 加、減操作 System.out.println("1小時后:" + sd.format(DateUtils.addHours(now, 1))); System.out.println("1小時前:" + sd.format(DateUtils.addHours(now, -1))); //分鐘: 加、減操作 System.out.println("1分鐘之后:"+sd.format(DateUtils.addMinutes(now, 1))); System.out.println("1分鐘之前:"+sd.format(DateUtils.addMinutes(now, -1))); //秒: 加、減操作 System.out.println("10秒之后:"+sd.format(DateUtils.addSeconds(now, 10))); System.out.println("10秒之前:"+sd.format(DateUtils.addSeconds(now, -10))); //毫秒: 加、減操作 System.out.println("1000毫秒之后:"+sd.format(DateUtils.addMilliseconds(now, 1000))); System.out.println("1000毫秒之前:"+sd.format(DateUtils.addMilliseconds(now, -1000))); } }
運(yùn)行結(jié)果:
注意:代碼中引入了org.apache.commons.lang3.time.DateUtils;
,直接運(yùn)行程序會報錯!讀者可到官網(wǎng)提供的類庫下載地址下載相應(yīng)的組件,也可點(diǎn)擊此處本站下載。
最終文件的參考目錄結(jié)構(gòu)如下:
PS:這里再為大家推薦幾款關(guān)于日期與時間計算的在線工具供大家參考使用:
在線日期/天數(shù)計算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線萬年歷日歷:
http://tools.jb51.net/bianmin/wannianli
在線陰歷/陽歷轉(zhuǎn)換工具:
http://tools.jb51.net/bianmin/yinli2yangli
Unix時間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《java日期與時間操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。