为了账号安全,请及时绑定邮箱和手机立即绑定

Java:为什么 java.LocalDate 格式在 2018-10-25

Java:为什么 java.LocalDate 格式在 2018-10-25

慕森王 2021-11-11 16:43:33
import java.text.SimpleDateFormat;import java.time.LocalDate;import java.time.Period;import java.time.format.DateTimeFormatter;import java.util.Date;public class DateChal {    public static void main(String[] args) {        // TODO Auto-generated method stub        LocalDate start=LocalDate.parse("2018-10-25");        LocalDate end=LocalDate.parse("2019-10-25");        Period p=Period.between(start, end);        System.out.println("Number of days "+p.getDays());    }}o/p:Number of days 0 如何解决问题?还请解释什么是错的?
查看完整描述

4 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

结果周期包含 1 年、0 个月和 0 天。您只需打印天数,即 0。


查看完整回答
反对 回复 2021-11-11
?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

0 是天之间的差异。如果您打印,p.getYears()您将看到 1。


查看完整回答
反对 回复 2021-11-11
?
慕森卡

TA贡献1806条经验 获得超8个赞

正如很快已经提到的,Period 在您的情况下列出 1 年(P1Y),在这里您试图将 1 年转换为天数,因为天数为 0,它列出了 0。

查看完整回答
反对 回复 2021-11-11
?
慕虎7371278

TA贡献1802条经验 获得超4个赞

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy", Locale.ENGLISH);

Date firstDate = sdf.parse("06/30/2017");

Date secondDate = sdf.parse("06/30/2018");


long diffInMillies = Math.abs(secondDate.getTime() - firstDate.getTime());

long diff = TimeUnit.DAYS.convert(diffInMillies, TimeUnit.MILLISECONDS);


System.out.println(diff);


查看完整回答
反对 回复 2021-11-11
  • 4 回答
  • 0 关注
  • 185 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信