我正在尝试将Mon Jul 28 00:00:00 CDT 2014
这样的日期格式化为更加用户友好的日期,例如Mon 6/28
。我做错了什么?
代码:
String date_string = "Mon Jul 28 00:00:00 CDT 2014";
SimpleDateFormat inputFormatter = new SimpleDateFormat("ccc LLL F HH:mm:ss zzz yyyy"); //please notice the capital M
SimpleDateFormat outputFormatter = new SimpleDateFormat("ccc LLL/yyyy");
try {
Date date = inputFormatter.parse(date_string);
String text = outputFormatter.format(date);
System.out.println(text);
} catch (ParseException e) {
e.printStackTrace();
}
当我使用System.out.println查看outputFormatter设置的内容时,结果为:Sun Jan/2015
答案 0 :(得分:3)
试试这个..
改变这个..
SimpleDateFormat outputFormatter = new SimpleDateFormat("ccc LLL/yyyy");
到
SimpleDateFormat outputFormatter = new SimpleDateFormat("EEE M/dd");
EEE
- >的周一强>
EEEE
- >的周一强>
MM
- >的 06 强>
M
- >的 6 强>
dd
- >的 28 强>
修改强>
SimpleDateFormat inputFormatter = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy");
<强>样本强>
答案 1 :(得分:0)
&#34;月份:如果模式字母的数量为3或更多,则将月份解释为文本;否则,它被解释为数字。&#34;
如果您需要数字版本,请在输出中使用较短的格式。
答案 2 :(得分:0)
答案 3 :(得分:0)
SimpleDateFormat inputFormatter = new SimpleDateFormat("EEE MMM d HH:mm:ss zzz yyyy");
SimpleDateFormat outputFormatter = new SimpleDateFormat("EEE MMM/yyyy");
这将打印:2014年7月1日
如果您使用:
SimpleDateFormat outputFormatter = new SimpleDateFormat("EEE L/d");
这将打印:Mon 7/28