我正在尝试解析日期戳(我从 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"));
关于c# - 解析格式奇怪的 DateTime。有人愿意站出来吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3601636/