簡體   English   中英

將結果字符串日期時間轉換為日期時間值

[英]convert resulting string datetime to dateTime value

我正在通過 xml 獲取日期時間值,例如:

string time = "20150605020247+0000"

我想轉換為日期時間值。 我嘗試了DateTime.ParseParseExactConvert.ToDateTime 它不起作用,它返回錯誤:

字符串未被識別為有效的日期時間

您應該能夠使用DateTime.ParseExact ,因為您知道字符串的確切格式。 如果我們假設它是年、月、日、小時、分鍾、秒和偏移量,那么您可以執行以下操作:

var result = DateTime.ParseExact("20150605020247+0000", "yyyyMMddHHmmsszzz", 
    CultureInfo.InvariantCulture);

你應該像這樣使用DateTime.ParseExact

DateTime theTime = DateTime.ParseExact(time,  "ddMMyyyyHHmmss+ffff,CultureInfo.InvariantCulture);

您需要在 ParseExact 方法中使用精確格式說明符。

DateTime.ParseExact("20150605020247+0000", "yyyyMMddHHmmsszzz", System.Globalization.CultureInfo.InvariantCulture);

小提琴: https : //dotnetfiddle.net/cQJ9hN

編輯:

請檢查 .NET 世界中使用的標准日期時間格式: https : //docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings並檢查源您的數據字符串日期究竟是如何產生的。 但是,很可能字符串的 '+####' 部分是本地日期 UTC offset ,而不是時間的小數部分(如其他答案所建議的那樣)。 因此,使用“yyyyMMddhhmmssffff”解析日期會產生錯誤的結果

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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