c# - 解析格式奇怪的 DateTime。有人愿意站出来吗?

标签 c# .net parsing datetime

我正在尝试解析日期戳(我从 Twitter 获得)但收到错误。这是日期戳:

Fri, 27 Aug 2010 22:00:07 +0000

这是我的代码:

DateTime.ParseExact(MyDateValue, "ddd, dd MMM YYYY HH:mm:ss +ffff", new CultureInfo("en-US"))

这是我的错误:

System.FormatException was unhandled Message=String was not recognized as a valid DateTime.

有人想接受吗?为方便起见,我为出现问题的控制台应用程序提供了以下代码。

谢谢 杰米

using System;
using System.Globalization;

class Program
{
    static void Main(string[] args)
    {
        string MyDateValue = "Fri, 27 Aug 2010 22:00:07 +0000";
        var dt = DateTime.ParseExact(MyDateValue, "ddd, dd MMM YYYY HH:mm:ss +ffff", new CultureInfo("en-US"));

    }
}

最佳答案

年份说明符是yyyy,而不是YYYY:

string MyDateValue = "Fri, 27 Aug 2010 22:00:07 +0000";
var dt = DateTime.ParseExact(MyDateValue, "ddd, dd MMM yyyy HH:mm:ss +ffff", new CultureInfo("en-US"));

以上工作正常,只要它不会抛出异常。

我假设字符串末尾的 +0000 应该是时区说明符。如果是这样,则 ffff 不正确,因为它代表 千分之十秒,而不是时区说明符,即 K。如果它确实应该是时区说明符,那么这将是正确的代码:

string MyDateValue = "Fri, 27 Aug 2010 22:00:07 +0000";
var dt = DateTime.ParseExact(MyDateValue, "ddd, dd MMM yyyy HH:mm:ss K", new CultureInfo("en-US"));

参见 Custom Date and Time Format Strings .

关于c# - 解析格式奇怪的 DateTime。有人愿意站出来吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3601636/

相关文章:

c - 在C语言中将IP地址截断为/24的最简单方法是什么?

Java - 从字符串中解析日期

c# - 从 JSON 数组中查找最大值

c# - 我们如何在 IObservable<T> 上使用组函数,同时观察未完成或在热的、长时间运行的可观察对象上

c# - 如何在 Web Publish 发布包中包含类库的 App.Config 文件

.net - 正则表达式帮助,解析为 NameValueCollection

c# - C# 列表是否类似于 C++ 列表?

c# - 我无法在我的项目中使用我已经导入的库作为引用

c# - 如何在现有的完全空的 .xml 文件中写入内容?

c# - 不要将 JToken 日期时间字符串转换为 DateTime