解析格式奇怪的DateTime。 有人喜欢加紧吗?
我正在尝试解析一个日期戳(我从Twitter获得),但我收到了错误。 这是日期戳:
2010年8月27日星期五22:00:07 +0000
这是我的代码:
DateTime.ParseExact(MyDateValue,“ddd,dd MMM YYYY HH:mm:ss + ffff”,new CultureInfo(“en-US”))
这是我的错误:
System.FormatException未处理Message = String未被识别为有效的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"));
以上工作正常,只要它不会抛出exception。
我假设字符串末尾的+0000
应该是一个时区说明符。 如果是这样, ffff
是不正确的,因为它代表The hundred thousandths of a second
,而不是时区说明符,即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
。
你的YYYY
应该是yyyy
吗?
我的DateTime自定义格式信息的帮助文件只有小写y,没有大写。
注意年份的变化:YYYY-> yyyy
DateTime.ParseExact(MyDateValue, "ddd, dd MMM yyyy HH:mm:ss +ffff", new CultureInfo("en-US"))
System.DateTime.ParseExact(MyDateValue, "ddd, dd MMM yyyy HH:mm:ss zzz", new System.Globalization.CultureInfo("en-US"));
年份部分需要小写: ddd, dd MMM yyyy HH:mm:ss +ffff
我删掉了“+0000”并且只使用了DateTime.Parse()
为了达到我的实际时区(因为+0000可能是GMT的偏移)我也设置了它。
上述就是C#学习教程:解析格式奇怪的DateTime。 有人喜欢加紧吗?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
string myDateValue = "Fri, 27 Aug 2010 22:00:07"; //get this using substring int gmtOffset = -6; //I'm in the Central TimeZone DateTime dt = DateTime.Parse(myDateValue); dt.AddHours(gmtOffset); Console.WriteLine(dt.ToString("ddd, dd MMM yyyy hh:mm:ss"));
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/954904.html