簡體   English   中英

如何使用特定格式將字符串解析為DateTime?

[英]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.ParseExactTryParseExact ; 這些方法允許您指定程序中的預期格式。

DateTime.ParseTryParse方法很危險,因為它們接受在運行代碼的機器上配置的當前日期/時間格式 - 用戶可以從默認值更改 - 以及一些與文化無關的格式。 換句話說,用戶可以更改控制面板中的設置並中斷Parse / TryParse

嘗試DateTime.ParseExact

此代碼采用您的日期字符串並應用格式來創建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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM