问题描述
我对 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"