繁体   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