在Java 6解析日期,我有,赋予了“T”和“Z”的日期字符串,它看起来像混淆与奇怪的字符
2011-11-28T21:00:00Z
我怎么会得到一个java.util.Date
了上述String
的角色并不代表什么意思? (您可以假定时区是运行此Java代码的计算机的默认时区)。
在Java 6解析日期,我有,赋予了“T”和“Z”的日期字符串,它看起来像混淆与奇怪的字符
2011-11-28T21:00:00Z
我怎么会得到一个java.util.Date
了上述String
的角色并不代表什么意思? (您可以假定时区是运行此Java代码的计算机的默认时区)。
可以使用的SimpleDateFormat做到这一点(解析或格式化) - 看到Javadocs,这在你给出类似的情况为例:
pattern: "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
result: 2001-07-04T12:08:56.235-0700
假设T和Z没有任何意义。你可以从给定的字符串中将它们从T和Z中删除,然后你可以使用下面的代码
String sampleDate =“2011-11-28 21:00:00”;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = dateFormat.parse(sampleDate);
System.out.println("Date: "+date);
你试过simpledateformat吗? – kosa 2012-02-28 22:19:03
但是Z字符*确实意味着什么。这意味着它是[UTC时间](http://en.wikipedia.org/wiki/ISO_8601#UTC)。 – 2012-02-28 22:19:04
[将符合ISO8601的字符串转换为java.util.Date]的可能重复(http://stackoverflow.com/questions/2201925/converting-iso8601-compliant-string-to-java-util-date) – 2012-02-28 22:22:01