我使用的返回日期爲字符串的API,就像這樣:如何從字符串中創建可讀的日期和時間?
2011-06-13T21:15:19Z
正如你能想象這是不是最簡單的格式瞭解。我的目標是讓它像這樣的格式:
下午9:15 - 2011年6月13日
任何人都知道如何做到這一點?我需要使用正則表達式還是有辦法將其轉換爲DateTime
?
注意:我試圖使用DateTime.ParseExact
方法,但它沒有奏效。如果這是解決方案,請告訴我如何轉換上面的示例。謝謝。
我使用的返回日期爲字符串的API,就像這樣:如何從字符串中創建可讀的日期和時間?
2011-06-13T21:15:19Z
正如你能想象這是不是最簡單的格式瞭解。我的目標是讓它像這樣的格式:
下午9:15 - 2011年6月13日
任何人都知道如何做到這一點?我需要使用正則表達式還是有辦法將其轉換爲DateTime
?
注意:我試圖使用DateTime.ParseExact
方法,但它沒有奏效。如果這是解決方案,請告訴我如何轉換上面的示例。謝謝。
string date = "2011-06-13T21:15:19Z";
DateTime dt = DateTime.Parse(date);
+1先回答 – 2011-06-13 23:19:36
謝謝,這個工程。 – loyalpenguin 2011-06-13 23:25:02
@loyalpenguin - 不是問題。似乎答案是一致的 – Xaisoft 2011-06-13 23:26:44
我剛剛用TryParse嘗試過它,它工作。使用try分析比分析更好,因爲您可以處理字符串未解析的情況。如果你確定傳遞的字符串是靜態的,那麼我想這是沒有必要的。
string Time = "2011-06-13T21:15:19Z";
DateTime t;
if (DateTime.TryParse(Time, out t))
{
//Works
}
當然。如果API不是毫無疑問地確保以確切格式返回日期時間,那麼TryParse將取代Parse。 – JesseBuesking 2011-06-14 20:59:04
DateTime.Parse
似乎該字符串做工精細:
var dt = DateTime.Parse("2011-06-13T21:15:19Z");
Console.WriteLine(dt.ToString("h:mmtt - M/d/yyyy"));
編輯
如果你想要得到它格式化字符串來看看它究竟是如何在你的問題,只是扔一個ToLower()
就可以了:
Console.WriteLine(dt.ToString("h:mmtt - M/d/yyyy").ToLower());
此外,所有的日期和時間字符串格式化選項可以在這裏找到:
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
+1的完整答案:) – nawfal 2014-01-30 10:28:53
你正在尋找的格式字符串"hh:mmtt \- M/d/yyyy"
。
DateTime.Parse應該與那些ISO 8601日期字符串一起工作。
不僅它們是最容易理解的,它們自然排序:日期順序= ASCII順序! :^ P – 2011-06-13 23:21:33
使用DateTime.Parse。
void Main()
{
var date = DateTime.Parse("2011-06-13T21:15:19Z");
Console.WriteLine(date);
}
怎麼樣DateTime.Parse,這是更寬容? – 2011-06-13 23:17:28