Java使用DateUtils對(duì)日期進(jìn)行數(shù)學(xué)運(yùn)算經(jīng)典應(yīng)用示例【附DateUtils相關(guān)包文件下載】
本文實(shí)例講述了Java使用DateUtils對(duì)日期進(jìn)行數(shù)學(xué)運(yùn)算的方法。分享給大家供大家參考,具體如下:
最近在寫數(shù)據(jù)上傳的程序,需要對(duì)Date進(jìn)行一些數(shù)學(xué)運(yùn)算,個(gè)人感覺在java中,日期的數(shù)學(xué)運(yùn)算還是比較常用的,所以把Date的數(shù)學(xué)運(yùn)算都玩了一下。試了一下,發(fā)現(xiàn)DateUtils這個(gè)工具類對(duì)于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("腳本之家測(cè)試結(jié)果:"); Date now = new Date(); SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("------當(dāng)前時(shí)間--------:" + 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個(gè)月之后:"+sd.format(DateUtils.addMonths(now, 1))); System.out.println("1個(gè)月之前:"+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("昨天的這個(gè)時(shí)候:" + sd.format(DateUtils.addDays(now, -1))); System.out.println("明天的這個(gè)時(shí)候:" + sd.format(DateUtils.addDays(now, 1))); //小時(shí): 加、減操作 System.out.println("1小時(shí)后:" + sd.format(DateUtils.addHours(now, 1))); System.out.println("1小時(shí)前:" + 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)行程序會(huì)報(bào)錯(cuò)!讀者可到官網(wǎng)提供的類庫下載地址下載相應(yīng)的組件,也可點(diǎn)擊此處本站下載。
最終文件的參考目錄結(jié)構(gòu)如下:
PS:這里再為大家推薦幾款關(guān)于日期與時(shí)間計(jì)算的在線工具供大家參考使用:
在線日期/天數(shù)計(jì)算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi
在線萬年歷日歷:
http://tools.jb51.net/bianmin/wannianli
在線陰歷/陽歷轉(zhuǎn)換工具:
http://tools.jb51.net/bianmin/yinli2yangli
Unix時(shí)間戳(timestamp)轉(zhuǎn)換工具:
http://tools.jb51.net/code/unixtime
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《java日期與時(shí)間操作技巧匯總》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
SpringBoot詳解如何實(shí)現(xiàn)讀寫分離
當(dāng)響應(yīng)的瓶頸在數(shù)據(jù)庫的時(shí)候,就要考慮數(shù)據(jù)庫的讀寫分離,當(dāng)然還可以分庫分表,那是單表數(shù)據(jù)量特別大,當(dāng)單表數(shù)據(jù)量不是特別大,但是請(qǐng)求量比較大的時(shí)候,就要考慮讀寫分離了.具體的話,還是要看自己的業(yè)務(wù)...如果還是很慢,那就要分庫分表了...我們這篇就簡單講一下讀寫分離2022-05-05java利用java.net.URLConnection發(fā)送HTTP請(qǐng)求的方法詳解
如何通過Java(模擬瀏覽器)發(fā)送HTTP請(qǐng)求是我們?cè)谌粘=?jīng)常會(huì)遇到的問題,下面這篇文章主要給大家介紹了關(guān)于java利用java.net.URLConnection發(fā)送HTTP請(qǐng)求的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05elasticsearch?java客戶端action的實(shí)現(xiàn)簡單分析
這篇文章主要為大家介紹了elasticsearch?java客戶端action的實(shí)現(xiàn)簡單分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-04-04Java使用pdfbox實(shí)現(xiàn)給pdf文件加圖片水印
有時(shí)候需要給pdf加水印,市面上工具都是收費(fèi)的要會(huì)員,還是自食其力吧;嘗試過 spire.pdf.free 那個(gè)超過10頁就不行了!所以本文還是使用了pdfbox,感興趣的可以了解一下2022-11-11Java使用Request獲取請(qǐng)求參數(shù)的通用方式詳解
這篇文章主要給大家介紹了關(guān)于Java使用Request獲取請(qǐng)求參數(shù)的通用方式,在Java后端開發(fā)中第一步就是獲取前端傳過來的請(qǐng)求參數(shù),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01