JDK8中增加了一系列時間的類,
(據說)是為了干掉過去的Date,Calendar類的,
過去的Date類(據說)有着線程不安全等諸多弊端,
至於我的個人感受就是用起來實在是很麻煩,我一般封裝成幾個常用的方法以后每次就調方法,再也不想看里面是怎么實現的了.
而發現了LocalDateTime這種新類以后,經過我的簡單的試用,覺得完全可以取代掉之前使用時間的一切方法.非常好用,太好用了.
下面是簡單的使用教程:
1,按照自由格式獲取當前時間
public static String getTodayByFormat(String timeFormat){ return LocalDateTime.now().format(DateTimeFormatter.ofPattern(timeFormat)); }
簡直優雅,甚至我都不想封裝成方法了,想用隨時寫,就是這么容易.
2,獲取當前年/月/日
一張圖說明,想怎么取,想怎么拼,都隨便
3,獲取前一天
從前我的笨方法是:
public static String getYesterdayByFormat(String timeFormat){ //獲取當前日期 Date date = new Date(); SimpleDateFormat sf = new SimpleDateFormat(timeFormat); //通過秒獲取下一天日期 long time = (date.getTime() / 1000) - 60 * 60 * 24;//秒 date.setTime(time * 1000);//毫秒 String yesterday = sf.format(date).toString(); return yesterday; }
如今有了新方法:
public static String getYesterdayByFormat(String timeFormat){ return LocalDateTime.now().plusDays(1).format(DateTimeFormatter.ofPattern(timeFormat)); }
同理,我都不想為獲取X天后/X小時后單獨寫方法了,就在下面(以增加為例):
返回值是LocalDateTime,也就意味着可以一直鏈式點下去,想要多少天以后的數據盡管開口,一句寫不完算我輸.
4,獲取已經度過的毫秒/秒
為啥一個是to一個是get我也不是很明白
其他更多的我還沒用,感覺用不到了,有需要再去查就是了.