Java8 Period.between方法坑及注意事項
在使用Java8 新特性中關於Period.between的方法時需注意該方法獲取日期的區間問題。
@Test
public void test1(){
LocalDate from = LocalDate.of(2018,10,1);
System.out.println(Period.between(from,LocalDate.now()).getDays());
}
首先,猜測一下上面的程式碼返回的天數是多少?15天,你猜對了嗎?
如果不理解為什麼是15天,那麼咱們再列印一下其他的心氣,你可能就明白了。
@Test public void test1(){ LocalDate from = LocalDate.of(2017,9,1); Period period = Period.between(from,LocalDate.now()); System.out.println("2017-09-01到當前日期" + LocalDate.now()); System.out.println("距離當前多少年:" + period.getYears()); System.out.println("距離當前多少月:" + period.getMonths()); System.out.println("距離當前多少日:" + period.getDays()); }
在此執行程式,列印日誌如下:
2017-09-01到當前日期2019-10-16
距離當前多少年:2
距離當前多少月:1
距離當前多少日:15
看了下面的日誌資訊,明白是怎麼回事了吧。Period中時間區間如果是2年1個月15天。那麼通過getDays()方法獲得就是第三個儲存15天。而不是2年1個月15天總共有多少天。
那麼如果想算兩個日期直接的距離該怎麼辦呢?可採用下面的方法。
@Test public void test2() { LocalDate from = LocalDate.of(2017, 9, 1); long day = LocalDate.now().toEpochDay() - from.toEpochDay(); System.out.println("距離當前多少日:" + day); }
執行結果為:
距離當前多少日:775
原文連結:《Java8 Period.between方法坑及注意事項》
相關推薦
Java8 Period.between方法坑及注意事項
在使用Java8 新特性中關於Period.between的方法時需注意該方法獲取日期的區間問題。 @Test public void test1(){ LocalDate from = LocalDate.of(2018,10,1); System.out.println(Period.be
IOS addChildViewController方法使用及注意事項
在iOS 5.0及以後,iOS為UIViewController類添加了新的屬性和方法:123456@property(nonatomic,readonly) NSArray *childViewControllers- (void)addChildViewControlle
保留幾位有效數字 多種方法實現及注意事項
Note: the results of this constructor can be somewhat unpredictable. One might assume that new BigDecimal(.1) is exactly equal to .1, but it is actually eq
重灌系統後,重新安裝ORACLE加環境變數配置、客戶端PL/SQL的安裝過程,及注意事項(避免再次踩坑)
(1)首先了解什麼是OERACLE及Oracle與PL/SQL是什麼關係: ORACLE是資料庫,有客戶端和伺服器; PLSQL Developer只是第三方工具,服務於ORACLE,類似的工具還有Toad,sqlplus,sql developer等等; 安裝PLSQL Developer
【C++】向量(vector) 基本使用方法及注意事項
介紹: 向量(Vector)是一個封裝了動態大小陣列的順序容器(Sequence Container)。跟任意其它型別容器一樣,它能夠存放各種型別的物件。可以簡單的認為,向量是一個能夠存放任意型別的動態陣列。 特點: 1.順序序列 順序容器中的元素按照嚴格的線性順序排序。可以通過元素
仙人劍花怎麼養 仙人劍花的養殖方法及注意事項
劍花也稱霸王花、七星劍花、龍骨花,為仙人掌科量天尺屬植物量天尺的花。夏、秋間採收淨花,縱向切開(基部相連),略蒸後,晒乾。量天尺又名:龍骨花(海南保亭),霸王鞭(海南三亞,廣東肇慶),三角柱、三稜箭(北京俗稱)。很多朋友不知道如何養殖仙人劍花,下面來介紹一下。 從生長環境溫度方面來說
分享知識-快樂自己:Struts2(動態方法、動態結果、萬用字元、方法內部跳轉、action跳轉、OGNL 的使用及注意事項)
這裡主要以案例演示:涵蓋以下知識點 1、動態方法呼叫:使用關鍵 符號 ! 進行操作 例如:/名稱空間 ! 方法名 2、動態結果集:就是說,通過後臺返回的結果 ${} 獲取,重定向到符合預期的頁面。 3、萬能萬用字元:*_* :第一個 * 為 類名、第二個 * 為方
ORACLE分割槽表梳理系列(一)- 分割槽表概述、分類、使用方法及注意事項
前言 本文著重闡述分割槽表的概念、優勢,以及常用分割槽表的使用方法及使用過程中的注意事項。 對於分割槽表的日常維護方法,如:索引的維護、分割槽的合併等,將在後續文章中再詳細介紹。 本文涉及的相應演示,使用的資料庫版本為oracle 11.2.0.4。 本文常用分割槽表的使
DML和DQL使用方法及注意事項
MySQL的儲存引擎 儲存引擎的型別 MyISAM、InnoDB 、Memory、CSV等9種 MyISAM與InnoDB型別主要區別 InnoDB MyISAM 事務處理 支援
藍雪花怎麼養 藍雪花養殖方法及注意事項
藍雪花簡介: 別稱山灰柴、假靛(河南),角柱花等,多年多年生直立草本,為白花丹科、藍雪花屬植物。 藍雪花長勢強健,耐熱,較耐高溫高溼,病蟲害少,管理簡單,觀賞期長。葉色翠綠,花色淡雅,炎熱的夏季給
一次使用innobackupex重新搭建主從複製報錯解決方法及注意事項
【環境介紹】 系統環境:CentOS release 6.4 (Final) + Server version: 5.7.18-log MySQL Community Server (GPL) + innobackupex version 2.4.12 Linux (x86_64)
jQuery呼叫Servlet方法及注意事項
雖然現在很多網站用框架了,但Servlet還是JAVA初學者必學的知識點,對於普通的小網站用Servlet也能滿足需要,以下是如何用MyClipse建立Servlet的步驟及注意事項: 第一步:建立Servlet,可用File->New->other->輸
java中方法的過載及注意事項
/*方法的過載特性(overload)在同一個類中,允許出現同名的方法,只要方法的引數列表不同即可,這就是方法的過載引數列表不同:引數個數不同,資料型別不同,順序不同方法過載的注意事項1.引數列表必須相同2.過載和引數變數名無關3.過載和返回值型別無關4.過載和修飾符無關技巧
vector.erase() 的使用方法及注意事項
1 使用方法 vector.erase()的功能從指定容器中刪除指定位置的元素或某段範圍內的元素,有以下兩種過載方式: iterator erase( iterator _Where);//刪
【Python】程序與程序池的屬性方法及注意事項
1、程序的概念 程序(Process)是計算機中的程式關於某資料集合上的一次執行活動,是系統進行資源分配和排程的基本單位,是作業系統結構的基礎。在早期面向程序設計的計算機結構中,程序是程式
break 和 continue 的使用方法及注意事項
/* break: 跳出 使用範圍:要麼是 switch 語句 要麼是迴圈語句 注意:當break 語句單獨存在時,下面不要定義其他語句,因為執行不到 break 跳出的當前的迴圈語句 */ class ifDemo { public static
Tensorflow兩種資料讀取方法應用、對比及注意事項
本文對比介紹了兩種Tensorflow針對大資料集的資料讀取方法,具體來說是:方法1:tf.train.slice_input_producer+流水線(這裡用這個API指代這一類,其實還有其他的API)。方法2:Dataset方法,據說是Tensorflow 1.3版本之後
【java基礎】abstract抽象類、方法的特點及注意事項
摘要:本文引自畢老師Java程式碼。 /* 抽象類: 抽象:籠統,模糊,看不懂!不具體。 特點: 1,方法只有宣告沒有實現時,該方法就是抽象方法,需要被abstract修飾。 抽象方法必須定義在抽象類中。該類必須也被abstract修飾。 2,抽象類不可以被例項化。
關於Android 5.0 、6.0 、 7.0程式碼設定WIFI連線方式為靜態IP或DHCP的方法及注意事項
注意:Android6.0以上app不具備刪除,修改WiFi許可權。 如果是自己APP通過程式碼連線的,(如果系統本來就記住了該WIFI,APP裡通過程式碼在連線一次不算),需要許可權 <uses-permission android:name="android.p
Android中LayoutInflater類的inflate方法的使用及注意事項
轉自:http://www.ithao123.cn/content-10951307.html [摘要:我們正在講一個界說好的結構檔案(xml)檔案減載到界裡上揭示出去的時間,平常會用到LayoutInflater的inflate方式,仔細的同硯會發明那個方式有四種過載,