我面临着一个我以前从未见过的非常奇怪的问题。我有一个以毫秒为单位的日期,并希望将其显示为可读日期。这是我的代码:
if (validUntil == 0) {
return activity.getResources().getString(R.string.forever);
} else {
Date startDate = new Date(validFrom);
Date endDate = new Date(validUntil);
if (startDate.compareTo(endDate) < 0) {
String date = sdf.format(startDate) + " - " + sdf.format(endDate);
return date;
} else if (startDate.compareTo(endDate) == 0) {
return activity.getResources().getString(R.string.forever);
}
}
如您所见,我只想创建一个显示时间跨度的字符串。当我调试我的代码时,日期对象包含正确的值,而sdf.format(...)
给我一个无效的日期。
例子:
startdate
以毫秒为单位:1375017555000
startdate
对象包含:Sun Jul 28 15:19:15 CEST 2013
sdf.format(startDate)
返回:28.19.2013
我得到了结束日期的类似结果。
我究竟做错了什么?