我在计算两个dateFields之间的天数时遇到问题。我已经试过了
`
DateField dateStart = new DateField();
DateField dateEnd = new DateField();
DateTime start = new DateTime(dateStart);
DateTime end = new DateTime(dateEnd);
int days = Days.daysBetween(new DateTime(start), new DateTime(end)).getDays();
`
这是运行此代码后出现的错误
java.lang.IllegalArgumentException: No instant converter found for type: com.vaadin.ui.DateField
我也已经尝试使用ChronoUnit
LocalDate startDate = LocalDate.now().minusDays(1);
LocalDate endDate = LocalDate.now();
long days = Period.between(startDate, endDate).getDays();
assertEquals(1, days);
long days2 = ChronoUnit.DAYS.between(startDate, endDate);
assertEquals(1, days2);
还有JudoTime
DateTime startDate = new DateTime().minusDays(1);
DateTime endDate = new DateTime();
Days d = Days.daysBetween(startDate, endDate);
int days = d.getDays();
我的两个代码都收到NullPointerException错误。有什么办法可以得到我的天数。
其他答案显示了如何使用Java 8计算几天内两个日期之间的差额。但是您的实际问题是如何从Vaadin获取日期DateField
(如p.streef和Ramachandran GA在评论中指出的那样)。使用dateStart.getValue()
该将返回一个java.util.Date
和可以传递给new DateTime()
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句