如何使用特定格式将字符串解析为DateTime?
我有一个来源,后者的日期来此字符串形式:如何使用特定格式将字符串解析为DateTime?
Sat Sep 22 13:15:03 2018
有一个简单的方法,我可以解析到在C#中的DateTime?我试着日期时间。(尝试)解析,但它似乎并没有认识到这一点的具体格式...
这工作:
DateTime dt = DateTime.ParseExact ("Sat Sep 22 13:15:03 2018", "ddd MMM d HH:mm:ss yyyy", null)
此代码需要你的日期字符串并应用格式创建一个DateTime目的。
CultureInfo provider = CultureInfo.InvariantCulture;
string dateString = "Sat Sep 22 13:12:03 2018";
string format = "ddd MMM dd HH':'mm':'ss yyyy";
DateTime result = DateTime.ParseExact(dateString, format, provider);
这是缩写的月份名称后失踪一个月的数字一天。看到我的答案。 – Gonzalo 2009-12-07 18:46:38
你是对的我修好了,谢谢。 – 2009-12-07 19:17:25
您应该更喜欢DateTime.ParseExact
和TryParseExact
;这些方法可让您在程序中指定预期的格式。
DateTime.Parse
和TryParse
方法很危险,因为它们接受运行代码的机器上配置的当前日期/时间格式 - 用户可以从默认设置更改 - 还有一些文化中性格式。换句话说,用户可以更改控制面板中的设置并打破Parse
/TryParse
。
var str = "Sat Sep 22 13:15:03 2018";
var date = DateTime.ParseExact(str, "ddd MMM dd HH:mm:ss yyyy", CultureInfo.InvariantCulture);
非常感谢!应该找到它自己... – 2009-12-09 17:51:53