gpt4 book ai didi

java - 将用户输入日期与当前日期进行比较

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:34:33 26 4
gpt4 key购买 nike

您好,我正在尝试将用户输入的日期(作为字符串)与当前日期进行比较,以确定该日期是更早还是更早。

我当前的代码是

String date;
Date newDate;
Date todayDate, myDate;
SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MM-yyyy");

while(true)
{
Scanner s = new Scanner (System.in);
date = s.nextLine();
Calendar cal = Calendar.getInstance();
try {
// trying to parse current date here
// newDate = dateFormatter.parse(cal.getTime().toString()); //throws exception

// trying to parse inputted date here
myDate = dateFormatter.parse(date); //no exception
} catch (ParseException e) {
e.printStackTrace(System.out);
}

}

我试图将用户输入日期和当前日期都放入两个 Date 对象中,以便我可以使用 Date.compareTo() 来简化日期比较。

我能够将用户输入的字符串解析为 Date 对象。但是,由于是无效字符串,当前日期 cal.getTime().toString() 不会解析为 Date 对象。

如何着手做这件事?提前致谢

最佳答案

您可以通过以下方式获取当前的日期:

todayDate = new Date();

编辑:由于您需要在不考虑时间分量的情况下比较日期,因此我建议您查看:How to compare two Dates without the time portion?

尽管一个答案“形式不佳”,但我实际上非常喜欢它:

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
sdf.format(date1).equals(sdf.format(date2));

就您而言,您已经拥有:

SimpleDateFormat dateFormatter = new SimpleDateFormat("dd-MM-yyyy");

所以我会考虑(为了简单而不是为了性能):

todayDate = dateFormatter.parse(dateFormatter.format(new Date() ));

关于java - 将用户输入日期与当前日期进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19726115/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com