簡體   English   中英

日歷之間的Java期間

[英]Java Period Between Calendar

對於Java程序,我需要從2個日期開始的時間間隔,但是Period.Class出現錯誤。

我試圖用Period.between獲得TimePeriod

     Calendar myCalendar = new GregorianCalendar(2017, Calendar.JANUARY,1);
     Calendar myPeriod = new GregorianCalendar(2017, Calendar.MARCH, 1);
     Period prd = Period.between(myCalendar, myPeriod);
     return prd.getTime();

我曾經返回myCalendar.getTime(); 現在,我需要myCalendarmyPeriod的“ Period”。

謝謝。

如果您使用的是Java 8,那么Period接受2個LocalDate參數(有關更多信息,請參見官方文檔 )。

如果您仍然需要從Calendar轉換為LocalDate則這是代碼:

Calendar myCalendar = new GregorianCalendar(2017, Calendar.JANUARY,1);
Calendar myPeriod = new GregorianCalendar(2017, Calendar.MARCH, 1);
LocalDate start = Instant.ofEpochMilli(myCalendar.getTimeInMillis()).atZone(ZoneId.systemDefault()).toLocalDate();
LocalDate end = Instant.ofEpochMilli(myPeriod.getTimeInMillis()).atZone(ZoneId.systemDefault()).toLocalDate();

否則,只需直接創建2個LocalDate變量:

 LocalDate start = LocalDate.of(2017, Month.JANUARY, 1);
 LocalDate end = LocalDate.of(2017, Month.MARCH, 1);

然后計算它們之間的周期:

Period prd = Period.between(start, end);
System.out.println(prd.toString()); //P2M

暫無
暫無

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

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