我得到了像「Wed,08 Feb 2012 09:06:41 +0000」的字符串。 我想取「日期」2012年2月8日和「時間」09:06。如何從Java中的String中獲取日期和時間?
我怎樣才能得到它?請幫幫我。
在此先感謝.. :)
我得到了像「Wed,08 Feb 2012 09:06:41 +0000」的字符串。 我想取「日期」2012年2月8日和「時間」09:06。如何從Java中的String中獲取日期和時間?
我怎樣才能得到它?請幫幫我。
在此先感謝.. :)
試試這個,
SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss");
try
{
Date date = (Date)sdf.parse("Wed, 08 Feb 2012 09:06:41 +0000");
System.out.println(date);
SimpleDateFormat day = new SimpleDateFormat("dd-MMM-yyyy");
SimpleDateFormat time = new SimpleDateFormat("HH:mm");
System.out.println(day.format(date));
System.out.println(time.format(date));
}
catch (ParseException e)
{
e.printStackTrace();
}
它會肯定工作。
非常感謝你Pratik。 – Hardik 2012-02-08 12:30:52
DateFormat formatter ;
Date date ;
formatter = new SimpleDateFormat("EEE, dd MMM yyy HH:mm:ss Z");
date = (Date)formatter.parse(str_date);
看看這裏http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html日期和時間模式。
Date d = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z").parse(yourString);
您可以使用SimpleDateFormat。 SimpleDateFormat是一個以區域敏感的方式格式化和解析日期的具體類。它允許格式化(日期 - >文本),解析(文本 - >日期)和規範化。
你只需要一個正確的格式:
"EEE, d MMM yyyy HH:mm:ss Z"
如果我刪除Z.比它會工作...... BTW非常感謝。 – Hardik 2012-02-08 12:31:38
@Hardik:如果你省略Z,那麼解析器將忽略字符串中的時區,並且不會產生確切的時間。您會看到「正確的」結果,但結果日期對象與生成字符串的日期對象不同。我認爲你需要深入瞭解Java如何存儲時間。這是關於這個的很好的[文章](http://www.odi.ch/prog/design/datetime.php)。 – Mersenne 2012-02-08 12:51:06
燁巴迪,我明白........非常感謝老兄。 – Hardik 2012-02-08 13:00:35
使用下面的語句:
DateFormat fmt = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss Z");
Date date = (Date)fmt.parse("Wed, 08 Feb 2012 09:06:41 +0000");
「E,DD MMM YYYY HH:MM:SS Z」 這是你的解析器的模式。
「Wed,08 Feb 2012 09:06:41 +0000」實際上是您的日期字符串。
現在,日期對象包含結構化日期,您可以提取所需的所有內容。
您可以使用SimpleDateFormat
要顯示08 - 2月 - 2012可以作爲SimpleDateFormat的
SimpleDateFormat m_sdFormatter = new SimpleDateFormat("dd-MMM-yyyy");
m_sdFormatter.format(your date);
要顯示 「時間」 09:06。你可以SimpleDateFormat的作爲
SimpleDateFormat m_sdFormatter = new SimpleDateFormat("HH:mm");
m_sdFormatter.format(your date);
首先解析字符串轉換爲Date
,然後格式化日期到你需要的字符串:
SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
try {
Date date = (Date)sdf.parse("Wed, 08 Feb 2012 09:06:41 +0000");
System.out.println(date);
SimpleDateFormat day = new SimpleDateFormat("dd-MMM-yyyy");
SimpleDateFormat time = new SimpleDateFormat("HH:mm");
System.out.println(day.format(date));
System.out.println(time.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
輸出:
Wed Feb 08 09:06:41 GMT 2012
8-Feb-2012
09:06
希望這會有所幫助。 http://stackoverflow.com/questions/8699587/android-java-time-format – Vaandu 2012-02-08 11:58:31
很多明確的正確答案。請接受一個,不要離開我們:) – Mersenne 2012-02-08 12:44:27