Java使用DateUtils對日期進(jìn)行數(shù)學(xué)運算經(jīng)典應(yīng)用示例【附DateUtils相關(guān)包文件下載】
本文實例講述了Java使用DateUtils對日期進(jìn)行數(shù)學(xué)運算的方法。分享給大家供大家參考,具體如下:
最近在寫數(shù)據(jù)上傳的程序,需要對Date進(jìn)行一些數(shù)學(xué)運算,個人感覺在java中,日期的數(shù)學(xué)運算還是比較常用的,所以把Date的數(shù)學(xué)運算都玩了一下。試了一下,發(fā)現(xiàn)DateUtils這個工具類對于Date的數(shù)學(xué)運算非常方便,見代碼吧。
package date;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.lang3.time.DateUtils;
public class DateCalculate {
/**
* 日期格式的運算
* @param args
*/
public static void main(String[] args) {
System.out.println("腳本之家測試結(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)));
}
}
運行結(jié)果:

注意:代碼中引入了org.apache.commons.lang3.time.DateUtils;,直接運行程序會報錯!讀者可到官網(wǎng)提供的類庫下載地址下載相應(yīng)的組件,也可點擊此處本站下載。
最終文件的參考目錄結(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é)點技巧總結(jié)》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
java8 forEach結(jié)合Lambda表達(dá)式遍歷 List操作
這篇文章主要介紹了java8 forEach結(jié)合Lambda表達(dá)式遍歷 List操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
基于springboot redirect重定向路徑問題總結(jié)
這篇文章主要介紹了springboot redirect重定向路徑問題總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
Java中關(guān)于Null的9個解釋(Java Null詳解)
這篇文章主要介紹了Java中關(guān)于Null的9個解釋(Java Null詳解),本文詳細(xì)講解了Java中Null的9個相關(guān)知識,需要的朋友可以參考下2015-01-01

