[英]convert resulting string datetime to dateTime value
我正在通過 xml 獲取日期時間值,例如:
string time = "20150605020247+0000"
我想轉換為日期時間值。 我嘗試了DateTime.Parse
、 ParseExact
、 Convert.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.