[英]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();
現在,我需要myCalendar
和myPeriod
的“ 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.