1

如何在 C# 中将以下格式的字符串转换为 DateTime:

  1. 格林威治标准时间 5 月 17 日下午 4:52+01:00
  2. 美国东部时间 5 月 17 日下午 3:57

.NET 是否支持转换这些字符串?

4

4 回答 4

2

不幸的是DateTime.Parse不会理解那些时区。三个字母的缩写不是指定时区的好方法,因为有很多不明确的缩写。例如,“CST”可以表示“中部标准时间”或“中国标准时间”。

除非您知道时区来自哪个国家(我猜您不知道),否则您可能不走运。

于 2012-05-17T20:02:03.347 回答
1

DateTime.Parse()不会识别其中任何一种格式。但是,如果您使用ParseExact()代替,您可以指定自定义格式。有关如何指定 DateTime 格式字符串的信息在这里

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

无法使用 DateTime 格式字符串捕获非数字时区指定,因此第二种格式有点棘手。我可能会提前检查这种情况。当它这样做时,您可能只需将最后 3 个字母从末尾剪掉,然后使用查找表将它们转换为 GMT 偏移量,以应用于您从解析字符串的第一部分获得的 DateTime。

于 2012-05-17T20:10:09.757 回答
0

Convert.ToDateTime(yourDateTimeString);

MSDN资料

于 2012-05-17T20:01:15.877 回答
0

尝试 DateTime Parse 方法:

于 2012-05-17T20:02:06.300 回答