回答
我会亲自避免使用Convert.ToDateTime
。我通常更喜欢使用DateTime.TryParseExact
,指定您期望的文化和格式字符串 - 当然,假设您有具有预期的格式。如果你不这样做,你必须问自己更大的问题。
例如:
DateTime value;
if (DateTime.TryParseExact(text, "M/d/yyyy H:mm:ss",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out value))
{
Console.WriteLine("Parsed to {0}", value);
}
else
{
Console.WriteLine("Failed to parse");
}
这是一个有点奇怪的格式开始 - 通常是24小时制将包括小时以0开头,和12小时格式将包括AM/PM代号。
嗯,我喜欢向使用Noda Time,但是这是一个不同的问题...
从海报的名字来看,我相信他会很高兴能收到你的回复。 – Khan 2012-03-07 15:53:42
所以'Jon Skeet'回答了Skon Jeet的问题! – tipycalFlow 2012-03-07 15:55:06
哈哈确实,正确的答案,再次。谢谢Skon,errmm Jon。 – SkonJeet 2012-03-07 15:59:38
当然,这是一个可以接受的格式转换为DateTime使用Convert.ToDateTime()?
当然不是。对于某些语言环境会出现这种情况,但例如,我有一个fr-FR
语言环境,这是无效的日期。今年没有22个月。确保在分析日期时指定格式。你可以使用TryParseExact这个方法。
除了指定格式外,还可以通过使用'Convert.ToDateTime(string,IFormatProvider)'重载指定文化来克服文化不匹配。 – phoog 2012-03-07 16:01:07
它应该能够如果您提供的指定文化中的IFormatProvider(如恩美国在这种情况下)。
var date = Convert.ToDateTime("2/22/2012 3:30:00", CultureInfo.GetCultureInfo("en-US"));
下面是关于如何使用Convert.ToDateTime(),这将有助于你了解它的一个例子:
Convert.ToDateTime example
或者您可以通过下面这个例子尝试:
Convert String to DateTime
这对我来说很好:
DateTime dt = Convert.ToDateTime("2/22/2012 3:30:00");
Console.WriteLine(dt.ToShortDateString());
Console.WriteLine(dt.ToShortTimeString());
当然,我不关注像达林暗示的本地化
如果您将年,月等信息分别作为整数获得,我宁愿使用DateTime的构造函数。
DateTime myDateTime = new DateTime(year, month, day, hour, minute, second);
平时没事可以去错这个......
- 1. 为什么这个字符串被转换为JQuery?
- 2. 为什么我的字符串不能转换为datetime?
- 3. 字符串转换为DateTime
- 4. 字符串转换为DateTime
- 5. 将2个字符串转换为DateTime
- 6. 为什么我无法将字符串转换为DateTime?
- 7. 为什么这个Github项目将字符串转换为bool?
- 8. 为什么这些整数不会转换为字符串? (Python 2.7版)
- 9. 为什么转换为字符串
- 10. 为什么这个PAnsiChar在转换为AnsiString时会被切碎?
- 11. JQuery.each将字符串文字转换为字符串。为什么?
- 12. 为什么NULL被转换为字符串*?
- 13. 将字符串转换为datetime问题
- 14. Powershell将字符串转换为datetime
- 15. 将字符串从xml转换为DateTime
- 16. 将字符串转换为DateTime C#ASP.NET
- 17. C#字符串转换为DateTime
- 18. C#字符串转换为DateTime
- 19. 将字符串转换为DateTime Ruby
- 20. MySQL的字符串转换为DATETIME
- 21. 无法将字符串转换为DateTime?
- 22. 将字符串转换为DateTime Asp.Net
- 23. 错误字符串转换为DateTime
- 24. SQL Server将字符串转换为datetime
- 25. 字符串转换为DateTime对象
- 26. vb.net将此字符串转换为DateTime
- 27. c#DateTime转换为字符串
- 28. 将字符串转换为DateTime?
- 29. 将字符串转换为datetime问题
- 30. 在SQL字符串转换为DateTime
你可以发布你的代码,所以我可以看看 – bobthemac 2012-03-07 15:50:22
你得到什么错误?我只是在Visual C#2010 Express中试过这个,它工作。这可能是其他地方的问题吗?请张贴出现问题的代码。 – Jetti 2012-03-07 15:51:40
是的,它当然是。 http://ideone.com/DsXGZ你可以发布你的代码,以及你当前的语言环境吗? (不知何故,我知道@JonSkeet会回答SkonJeet关于这个特定主题的问题......) – Ryan 2012-03-07 15:51:44