如何将此字符串转换为java中的标准日期?

She*_*lam 3 java time datetime date-format simpledateformat

之前我发布了以下问题:如何在Java中转换此日期?

但现在我想知道如何将此字符串转换为日期/时间.

2010-03-15T16:34:46Z
Run Code Online (Sandbox Code Playgroud)

例如:03/15/10

更新:

String pattern = "MM/dd/yy 'at' HH:mm";
                Date date = new Date();
                try {
                    date = new SimpleDateFormat(pattern).parse(q.getUpdated_at());
                } catch (ParseException e) {
                    e.printStackTrace();
                }
                dateText.setText(new SimpleDateFormat("MM/dd/yy 'at' hh:mma").format(date));
Run Code Online (Sandbox Code Playgroud)

给我一个结果,如:

Mon Mar 15 16:34:50 MST 2010
Run Code Online (Sandbox Code Playgroud)

我该如何格式化呢

03/15/10 at 4:34PM
Run Code Online (Sandbox Code Playgroud)

?

Boz*_*zho 8

两个SimpleDateFormat和joda-time DateTimeFormat都可以解析这个,使用这种模式:

String pattern = "yyyy-MM-dd'T'HH:mm:ss'Z'";
Run Code Online (Sandbox Code Playgroud)

例如:

Date date = new SimpleDateFormat(pattern).parse(dateString);
Run Code Online (Sandbox Code Playgroud)

而且(joda-time):

DateTimeFormatter dtf = DateTimeFormat.forPattern(pattern);
DateTime dateTime = dtf.parseDateTime(s);
Run Code Online (Sandbox Code Playgroud)

更新

您有2种日期格式 - 一种用于解析输入,另一种用于格式化输出.所以:

dateText.setText(new SimpleDateFormat("MM/dd/yy 'at' hh:mma").format(date));
Run Code Online (Sandbox Code Playgroud)

(当然,为了优化,您可以SimpleDateFormat只实例化一次,并重用它)

  • 根据答案中的`SimpleDateFormat`链接,模式将在'H:mma`处为'M/d/y'.你检查过链接了吗? (2认同)