在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