gpt4 book ai didi

java - SimpleDateFormat 和日期比较未给出正确的输出

转载 作者:行者123 更新时间:2023-12-02 07:34:58 24 4
gpt4 key购买 nike

try {
Date sysDate = new SimpleDateFormat("dd/mm/yyyy").parse(_sysDate);
Date userDate = new SimpleDateFormat("dd/mm/yyyy").parse(_userDate);
if (userDate.compareTo(sysDate) > 0)
return false;
else
return true;
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

上面是我的以下代码 fragment ,用于检查两个日期哪个更大。当我给予时:sysdate=12/9/2012 和 userdate=11/9/2012 或 10/8/2012 或 15/9/2011 它给出了正确的输出

但是当我给予时:sysdate=12/9/2012 和 userdate=13/8/2012 或 15/7/2012 或 16/6/2012 它给出了不正确的输出。根据我的分析,如果我选择 Jan' 12 到 Aug '12 之间的任何月份并选择比当前 day_of_month (在本例中为 12)多的 day_of_month(即 0,1,2,...,31),我就会遇到这一点),我总是得到不正确的输出。

请提出任何可能的解决方案。

最佳答案

问题是模式应该是“dd/MM/yyyy”(大写“MM”表示月份)而不是“dd/mm/yyyy”(小写“mm”表示分钟)。

所以,应该如下 -

try {
DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
Date sysDate = df.parse(_sysDate);
Date userDate = df.parse(_userDate);
//...

关于java - SimpleDateFormat 和日期比较未给出正确的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12389445/

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