我有一个如下所示的字符串:2013-08-18
我需要将此字符串转换为可用于与另一个Date
进行比较的字符串,以查看两者之间已经过了多少天。我提出了以下代码,将其变为Calendar
类型,这是我的另一个变量所在。但是,我得到的结果不一致,我不明白。这是我的代码:
String prefDate = prefs.getString("last_update", "2000-01-01");
System.err.println("oncreate prefDate: " + prefDate);
SimpleDateFormat df = new SimpleDateFormat("yyyy-mm-dd");
Date date = new Date();
date = df.parse(prefDate);
Calendar last_update = Calendar.getInstance();
last_update.setTime(date);
Date verify = new Date(last_update.getTimeInMillis());
System.err.println("verify: " + verify);
输出如下:
oncreate prefDate: 2013-08-18
verify: Fri Jan 18 00:08:00 MST 2013
我并不特别关注两个输出之间格式的差异。但显而易见的是,所有这一切的结果都是8个月 - 超出了我的误差容限。谁能看到我错过的东西?
谢谢!
答案 0 :(得分:3)
将yyyy-mm-dd
更改为yyyy-MM-dd
并参阅SimpleDateFormat
的文档以获取详细信息