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)
?
两个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只实例化一次,并重用它)