Java Calendar/SimpleDateFormat 给出无效日期

问题描述

我对 Java 还很陌生,我正在创建一个健身应用程序。

上下文:数据库应该每天打开应用程序添加一个新的日期条目

问题:昨天打开应用,成功添加日期:31.1.21。但是今天打开它,数据库在应该是 1.2.21 时添加了 32.2.21。日志表明一定是代码错误...

String timeStamp = new SimpleDateFormat("YYYY-MM-DD").format(Calendar.getInstance().getTime());
    timeStamp = timeStamp + " 00:00:00.000";
    android.util.Log.d(TAG,"Date/Time: " + timeStamp);

上面的代码是导致此问题的原因,我不熟悉日历,请询问是否有人知道问题可能是什么。非常感谢。

解决方法

找到解决方案:

“YYYY-MM-DD”应该是“yyyy-MM-dd”

,

好的,我知道哪里出了问题:

在 DateFormat 中,DD 表示一年中的天数。而 dd 表示一个月中的天数

所以,格式应该是这样的:"yyyy-MM-dd" 而不是 "YYYY-MM-DD"