使用SimpleDateFormat将日期转换为友好格式

时间:2014-06-30 04:59:25

标签: java android date time simpledateformat

我正在尝试将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

4 个答案:

答案 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");

<强>样本

http://ideone.com/c5rVT5

答案 1 :(得分:0)

&#34;月份:如果模式字母的数量为3或更多,则将月份解释为文本;否则,它被解释为数字。&#34;

如果您需要数字版本,请在输出中使用较短的格式。

答案 2 :(得分:0)

试试这个

DateFormat df = new SimpleDateFormat("EEE M/dd");

查看thisthis了解详情。

答案 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