簡體   English   中英

在C#中將某些字符串轉換為DateTime

[英]Convert certain string to DateTime in C#

如何在C#中將以下格式的字符串轉換為DateTime:

  1. 格林尼治標准時間5月17日下午4:52 + 01:00
  2. 美國東部時間5月17日下午3:57

.NET是否支持轉換這些字符串?

不幸的是DateTime.Parse不會理解那些時區。 三個字母的縮寫不是指定時區的好方法,因為有許多含糊不清的縮寫。 例如,“CST”可以表示“中央標准時間”或“中國標准時間”。

除非你知道時區來自哪個國家(而且我猜你沒有),否則你可能會運氣不好。

DateTime.Parse()將無法識別這兩種格式。 但是,如果使用ParseExact() ,則可以指定自定義格式。 此處提供了有關如何指定DateTime格式字符串的信息

例如,第一種格式的格式字符串是"MMMM dd, h:mmtt 'GMT'zzz"

無法使用DateTime格式字符串捕獲非數字時區標識,因此第二種格式有點棘手。 我可能只是提前檢查一下這種情況。 如果是這樣,您可能只需截斷最后3個字母,並使用查找表將它們轉換為GMT偏移量,以應用於解析字符串第一部分所得到的DateTime。

Convert.ToDateTime(yourDateTimeString);

MSDN信息

暫無
暫無

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

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