我給從數據庫這整個字符串:如何格式化此字符串以便可以通過Convert.ToDateTime識別它?
CCC_0293170118-10-2013-20-27-54.541
我有子如此,我得到18-10-2013-20-27-54
,但它拋出一個錯誤
我想把它轉換爲DateTime,這樣我可以比較一下與喜歡的格式和另外一個DateTime「{2013年10月18日下午8時28分46秒},以獲得時間差
我給從數據庫這整個字符串:如何格式化此字符串以便可以通過Convert.ToDateTime識別它?
CCC_0293170118-10-2013-20-27-54.541
我有子如此,我得到18-10-2013-20-27-54
,但它拋出一個錯誤
我想把它轉換爲DateTime,這樣我可以比較一下與喜歡的格式和另外一個DateTime「{2013年10月18日下午8時28分46秒},以獲得時間差
您可以使用"dd-MM-yyyy-HH-mm-ss"
格式等;。
string s = "18-10-2013-20-27-54";
DateTime dt = DateTime.ParseExact(s, "dd-MM-yyyy-HH-mm-ss", CultureInfo.InvariantCulture);
Console.WriteLine(dt);
輸出將;
10/18/2013 8:27:54 PM
這裏一個demonstration
。
A DateTime
不是有格式。這只是一個價值。
要解析「18-10-2013-20-27-54」這樣的值,您應該使用DateTime.ParseExact
(或DateTime.TryParseExact
,如果數據可能無效)。因此,像:
DateTime value = DateTime.ParseExact(text, "dd-MM-yyyy-HH-mm-ss",
CultureInfo.InvariantCulture);
在這裏指定固定區域性的,以確保公曆使用是很重要的 - 如果你使用了「現行制度文化」,那麼它可能會使用不同的默認日曆系統。
非常感謝你,你已經是英雄=) – user2751691
該死的,不到一分鐘,你有一個工作演示鏈接,當然+1。 – Habib
感謝@Habib。我認爲這是我的第一個答案,它比Jon的答案'獲得更多的滿意答案:)' –
非常感謝=) – user2751691