我使用变量 CURRENT_DATE 将当前日期存储在 SQLite 数据库中。我发现使用的日期格式是yyyy-mm-dd
在相同的。我想解析代码中的日期,但收到此错误:
java.lang.IllegalArgumentException:解析错误:
在 java.util.Date.parseError
代码如下所示:
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");
String formattedTaskDate = dateFormat.format(new Date(dateStoredAsStringFetchedFromDB));
Date d = new Date(formattedTaskDate);
首先,我从数据库中获取日期并将其存储在字符串变量中(因为日期在 SQLite 中存储为文本),然后我执行上述操作,但出现异常:解析错误.
我该如何解决这个问题?
看来你的日期格式是错误的。您应该注意的是大写M
用于表示月份,小写字母m
使用几分钟。要解决这个问题只需改变你的yyyy-mm-dd
to yyy-MM-dd
.
现在,如果您想将来更改该格式,可以通过执行以下操作来实现:
try {
DateFormat inputFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date input = inputFormat.parse(date);
DateFormat outputFormat = new SimpleDateFormat(" EEEE MMMM-dd-yyyy ", Locale.ENGLISH);
String finaldate = outputFormat.format(input);
txtDate.setText(finaldate); <-- just an example of displaying the date
}catch (Exception ex) {
Alerts.CatchError(getBaseContext(), ex.toString());
}
这将显示最初存储的日期2015-04-25 12:08:34
( yyyy-MM-dd HH:mm:ss ) 为Friday April-25-2015
。当然,您也可以根据自己的喜好进行更改,只需参考 Ankit 为您链接的文档即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)