[英]How do I parse a string into a DateTime, with a specific format?
我有一個來源,其中日期以這種字符串形式出現:
Sat Sep 22 13:15:03 2018
有沒有一種簡單的方法可以解析為C#中的DateTime? 我嘗試過DateTime。(嘗試)Parse,但它似乎沒有認識到這種特定的格式...
你應該更喜歡DateTime.ParseExact
和TryParseExact
; 這些方法允許您指定程序中的預期格式。
DateTime.Parse
和TryParse
方法很危險,因為它們接受在運行代碼的機器上配置的當前日期/時間格式 - 用戶可以從默認值更改 - 以及一些與文化無關的格式。 換句話說,用戶可以更改控制面板中的設置並中斷Parse
/ TryParse
。
此代碼采用您的日期字符串並應用格式來創建DateTime對象。
CultureInfo provider = CultureInfo.InvariantCulture;
string dateString = "Sat Sep 22 13:12:03 2018";
string format = "ddd MMM dd HH':'mm':'ss yyyy";
DateTime result = DateTime.ParseExact(dateString, format, provider);
這有效:
DateTime dt = DateTime.ParseExact ("Sat Sep 22 13:15:03 2018", "ddd MMM d HH:mm:ss yyyy", null)
var str = "Sat Sep 22 13:15:03 2018";
var date = DateTime.ParseExact(str, "ddd MMM dd HH:mm:ss yyyy", CultureInfo.InvariantCulture);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.