本文實例講述了Java使用DateUtils對日期進行數學運算的方法。分享給大家供大家參考,具體如下:
最近在寫數據上傳的程序,需要對Date進行一些數學運算,個人感覺在java中,日期的數學運算還是比較常用的,所以把Date的數學運算都玩了一下。試了一下,發現DateUtils這個工具類對於Date的數學運算非常方便,見代碼吧。
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("武林網測試結果:"); Date now = new Date(); SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("------當前時間--------:" + 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))); }}運行結果:
注意:代碼中引入了org.apache.commons.lang3.time.DateUtils; ,直接運行程序會報錯!讀者可到官網提供的類庫下載地址下載相應的組件,也可點擊此處本站下載。
最終文件的參考目錄結構如下:
PS:這裡再為大家推薦幾款關於日期與時間計算的在線工具供大家參考使用:
在線日期/天數計算器:
http://tools.VeVB.COm/jisuanqi/date_jisuanqi
在線萬年曆日曆:
http://tools.VeVB.COm/bianmin/wannianli
在線陰曆/陽曆轉換工具:
http://tools.VeVB.COm/bianmin/yinli2yangli
Unix時間戳(timestamp)轉換工具:
http://tools.VeVB.COm/code/unixtime
更多關於java相關內容感興趣的讀者可查看本站專題:《java日期與時間操作技巧匯總》、《Java數據結構與算法教程》、《Java操作DOM節點技巧總結》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。