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

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 如何解决问题?还请解释什么是错的?


慕森王
浏览 193回答 4
4回答

慕沐林林

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

扬帆大鱼

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

慕森卡

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

慕虎7371278

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);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java