jos*_*usa 3 java simpledateformat
我面临着一个我以前从未见过的奇怪问题.我有一个以毫秒为单位的日期,并希望将其显示为可读日期.这是我的代码:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我只想创建一个显示时间跨度的字符串.当我调试到我的代码时,日期对象包含正确的值,同时sdf.format(...)给我一个无效的日期.
例:
startdate 以毫秒为单位: 1375017555000startdate 对象包含: Sun Jul 28 15:19:15 CEST 2013sdf.format(startDate) 收益: 28.19.2013我得到了结束日期的结果.
我究竟做错了什么?
可能看起来你已经习惯mm了months,但它应该是MM.看看文档.
M月份
一小时一分钟
尝试:
SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
Run Code Online (Sandbox Code Playgroud)