如果我有一個奇怪的格式,如YYYY##MM##DD HH**M**SS
日期時間字符串,我如何創建一個新的日期時間對象基礎?我已閱讀了有關datetimeformatinfoclass的一些信息,但不知道如何使其工作。從奇怪的格式解析日期時間在C#中
14
A
回答
26
您可以使用DateTime.ParseExact,或DateTime.TryParseExact爲這你就不信心數據例如:
using System;
class Test
{
static void Main()
{
string formatString = "yyyy'##'MM'##'dd' 'HH'*'mm'*'ss";
string sampleData = "2010##02##10 07*22*15";
Console.WriteLine(DateTime.ParseExact(sampleData,
formatString,
null));
}
}
格式字符串的引號不是絕對必要的 - 這會工作。太:
string formatString = "yyyy##MM##dd HH*mm*ss";
但是,使用引號意味着你是明確了引號之間的字符被字面上的使用,而不是理解爲模式字符 - 因此,如果你改變了「#」改爲「/」使用引號的版本肯定會使用「/」,而ve沒有使用rsion會使用文化特定的值。
在通話中的null
到ParseExact
表示「使用目前的文化」 - 在這種情況下,它不會帶來多大的改變,但是一個常用有效的選擇是CultureInfo.InvariantCulture
。
不幸的是,沒有辦法讓BCL解析格式字符串並保留信息;我自己的Noda Time項目糾正了這種情況,我希望能夠更快地進行解析和格式化 - 但目前遠沒有生產準備。
7
您可以使用DateTime.ParseExact方法並傳遞所需的格式。
+0
這是將'string'解析爲'DateTime'的最有效方法。使用'.Parse()'和'.TryParse()'解析沒有格式信息是f..king該死的慢! – 2010-02-10 07:22:15
相關問題
- 1. 解析日期時間從奇格式
- 2. Golang解析奇怪的日期格式
- 3. freetds的奇怪日期時間格式
- 4. 奇怪的日期時間格式在iCloud日曆
- 5. 毫秒格式解析日期時間?
- 6. JavaScript格式日期奇怪
- 7. 解析datetime到指定的日期時間格式在c#
- 8. C++日期時間解析
- 9. 奇怪的日期時間解析行爲
- 10. EXSLT:日期:格式日期:解析日期,而不是解析時間
- 11. 如何解析字符串爲日期時間格式在C#
- 12. XML中的奇怪日期格式,轉換爲Ruby日期時間對象
- 13. 的ColdFusion - 解析字符串日期到日期時間格式
- 14. 日期時間格式化返回奇怪的結果
- 15. 解析Java中的日期有一個奇怪的時區
- 16. 日期時間解析困境在C#
- 17. 無法解析日期時間在C#
- 18. 解析日期時間在C#
- 19. 日期/時間解析在C++
- 20. 日期時間解析與MagicalRecord&日期格式
- 21. 日期時間格式C#
- 22. C#日期時間格式
- 23. c#日期/時間格式
- 24. C#日期/時間格式
- 25. C#日期時間格式
- 26. C#日期時間格式
- 27. C#日期時間解析「無效格式字符串」
- 28. C#日期時間解析/轉換此格式「20120314T130000」
- 29. 在C#中格式化日期時間#
- 30. 解析奇怪格式的文件
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx有相關的解析,如果你提供你自己的formatString – Tanzelax 2010-02-10 07:27:52