簡體   English   中英

如何計算處理3中兩個給定日期之間的天數?

[英]How to calculate the number of days between two given dates in processing 3?

我正在嘗試使用處理3來計算兩個給定日期之間的天數。但是我遇到了日期庫的問題。

import java.text.SimpleDateFormat;
import java.util.Date;

import java.time.LocalDate;
import java.time.Month;
import java.time.temporal.ChronoUnit;


Date epoDate = new Date();  
  Date epo = new Date();
    try {
      epoDate = new SimpleDateFormat("yyyy-mm-dd").parse("2015-01-03");
       epo = new SimpleDateFormat("yyyy-mm-dd").parse("2015-04-23");
    }
    catch (Exception e) {
    }

   ChronoUnit.DAYS.between(epo,epoDate);

}

問題是在函數之間的最后一行,它說它需要2個時間作為輸入?

您可以使用正確的類型解決編譯器錯誤。 不要使用java.util.Date (由SimpleDateFormat -parser返回),而是使用java.time.LocalDate ,它還提供了一種識別ISO格式yyyy-MM-dd的直接解析方法。

代替

new SimpleDateFormat("yyyy-mm-dd").parse("2015-04-23");

采用

LocalDate.parse("2015-04-23");

另一件事:

您的最終示例代碼ChronoUnit.DAYS.between(epo,epoDate); 不評估結果。 您應該將結果分配給long-primitive以進行進一步處理。

關於您對一位數月份輸入的評論

您可以使用重載的parse-method以這種方式接受額外的formatter參數:

LocalDate.parse("2015-4-23", DateTimeFormatter.ofPattern("uuuu-M-dd"));

它也應該與兩位數月份一起工作。 出於性能原因,我建議將formatter對象分配給靜態最終常量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM