spring中
方法二
DateTimeFormat.ISO DATE_TIME
Format
yyyy-MM-dd'T'HH:mm:ss.SSSZ
, e.g. "2000-10-31T01:30:00.000-05:00".
js中toISOString()返回‘2017-02-21T03:20:59.540Z’,格式标准为ISO 8601。
如果为UTC时间,可以直接在末尾添加“Z” 表示0时区,此时SPRING会解析失败。
方法一
Calendar canlendar = javax.xml.bind.DatatypeConverter.parseDateTime("2010-01-01T12:00:00Z");
Date dt = canlendar.getTime();
String formatted = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ")
.format(dt);
方法二
使用
Joda-Time
方法三
/** Transform ISO 8601 string to Calendar. */
public static Calendar toCalendar(final String iso8601string)
throws ParseException {
Calendar calendar = GregorianCalendar.getInstance();
String s = iso8601string.replace("Z", "+00:00");
try {
s = s.substring(0, 22) + s.substring(23); // to get rid of the ":"
} catch (IndexOutOfBoundsException e) {
throw new ParseException("Invalid length", 0);
}
Date date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ").parse(s);
calendar.setTime(date);
return calendar;
}