为了观察,我只是添加了我的代码 fragment 。它适用于具有时区偏移的格式日期,但无法解析格式化的内容。
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss.SZ");
Date javaDate = new Date();
String stringDate = format.format(javaDate);
System.out.println("Date: " + stringDate);
try {
javaDate = format.parse(stringDate); //reverse of format
} catch (ParseException e) {
e.printStackTrace();
}
有什么直接的方法吗?考虑到 20140916130644.236+0600
是您的日期字符串,您应该使用时区解析它 您的日期格式是什么?您可以轻松解析 yyyyMMddHHmmss.S
模式,而 .
不是事实,主要事实是 Z
而解析不是为了格式化。
最佳答案
因为 .
无效,删除它并像这样尝试
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSZ");
或者如果你想要 '.'然后像这样使用
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss'.'SZ");
关于java - 无法解析带时区的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25861804/