c# - 在 C# 中将字符串转换为 DateTime,最后使用 EDT

标签 c# datetime

我必须将下面的字符串解析为 C# 中的日期时间对象:

Wed, 13 Apr 2011 07:11:04 -0400 (EDT)

最简单的方法是什么?

我知道有 DateTime.Parse 和 DateTime.ParseExact 但我想弄清楚上面的自定义格式语法是什么。

最佳答案

您需要使用 DateTime.ParseExact并传入自定义格式。
像这样的东西:

var parsed = DateTime.ParseExact("Wed, 13 Apr 2011 07:11:04 -0400 (EDT)", 
                                 "ddd, dd MMM yyyy HH:mm:ss zzz", null);

注意
不支持时区缩写,因为它们没有官方名称,而且有时会产生歧义。
您应该从输入中删除它以解析上面的内容。如果您知道可能的值是什么,您可以考虑自己解析它。

关于c# - 在 C# 中将字符串转换为 DateTime,最后使用 EDT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5657056/

相关文章:

c# - 什么时候使用 GAC?

c# - 无法在 Windows Phone 7 中将字符串解析为 DateTime

c# - protobuf-net 编码 DateTime UTC 解码 ToLocalTime

python - 根据列获取 pyspark 中的本地时间

c# - 十进制时间跨度年份和月份 c#

c# - 从不同集合中删除另一个列表的对象列表

c# - BinaryFormatter反序列化恶意代码?

php - 如何在 PHP 中增加 MySQL 时间戳?

c# - .NET 读取 .lnk 文件的二进制内容

c# - EventArgs VS GridViewRowEventArgs