Hutool之時間工具——DateUtil

時間工具類DateUtil

考慮到Java自己對日期時間的支持有限,而且Date和Calendar對象的並存致使各類方法使用混亂和複雜,故使用此工具類作了封裝。這其中的封裝主要是日期和字符串之間的轉換,以及提供對日期的定位(一個月前等等)。 對於Date對象,我爲了便捷,使用了一個DateTime類來代替之,繼承自Date對象,主要的便利在於,覆蓋了toString()方法,返回yyyy-MM-dd HH:mm:ss形式的字符串,方便在輸出時的調用(例如日誌記錄等)。工具

1.nowtoday方法

返回當前時間和日期,第一個方法返回的格式爲yyyy-MM-dd HH:mm:ss,第二個返回的格式爲yyyy-MM-dd日誌

2.date方法

當前時間的DateTime對象(至關於new DateTime()或者new Date()),此外還提供一個重載方法,傳遞long類型參數,是給定一個Unix時間戳,返回這個時間戳的時間。code

3.yearAndSeason方法

根據給定的Date對象返回一個年份和季節的字符串,例如20132表示2013年第二季度,同時提供一個yearAndSeasons方法,傳入兩個時間對象,提供這兩個時間範圍內的全部季節字符串。orm

4.格式化日期

格式化日期時間,最經常使用的是formatDateTimeformatDate方法,返回yyyy-MM-dd HH:mm:ssyyyy-MM-dd格式的日期字符串,若是你須要特殊格式的格式化,則使用format方法,經過傳入日期的模板來返回相應的字符串。formatHttpDate則是返回HTTP頭部的時間格式,不常常用。對象

5.解析日期字符串

與字符串格式化相反的是解析日期字符串,經常使用的是parse方法,若是不提供日期的格式參數,則只能解析以下幾種形式的日期字符串:繼承

  1. yyyy-MM-dd HH:mm:ss
  2. yyyy-MM-dd
  3. HH:mm:ss
  4. yyyy-MM-dd HH:mm

若是你的日期格式不是這幾種格式,則須要指定日期格式,對於以上格式還有專門的方法對應:字符串

  1. parseDateTime
  2. parseDate
  3. ParseTime

6.日期偏移

getBeginTimeOfDaygetEndTimeOfDay分別得到給定日期當天的開始時間和結束時間,開始時間是00:00,結束時間是23:59。 yesterdaylastWeeklastMouth返回昨天、上週、上個月的日期。 若是須要指定日期作偏移,則使用offsiteDayoffsiteWeekoffsiteMonth來得到指定日期偏移天、偏移周、偏移月,指定的偏移量正數向將來偏移,負數向歷史偏移。 若是以上還不能知足偏移要求,則使用offsiteDate偏移制定量,其中參數calendarField爲偏移的粒度大小(小時、天、月等)使用Calendar類中的常數。get

7.diff方法

返回兩個日期的時間差,參數diffField定義了這個差的單位,單位的定義在DateUtil的常量中,例如DateUtil.SECOND_MS表示兩個日期相差的秒數。it

8.spendMsspendNt方法

這兩個方法主要是用於統計花費時間,例如在某個方法開頭標記了了一個時間,在結尾傳入這個時間,就能夠計算這個方法花費的毫秒數或者納秒數。ast

9.toIntSecond方法

將給定日期轉化爲yyMMddHHmm類型字符串並轉換爲int類型,不經常使用。

相關文章
相關標籤/搜索