为什么不将此字符串转换为DateTime?

Sko*_*eet 0 c# string datetime

2/22/2012 3:30:00

当然这是一种可以使用Convert.ToDateTime()转换为DateTime的可接受格式?

Jon*_*eet 9

我个人会避免使用Convert.ToDateTime.我通常更喜欢使用1DateTime.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");
}
Run Code Online (Sandbox Code Playgroud)

这是一个稍微奇怪的格式开始 - 通常24小时格式将包括一小时的前导0,而12小时格式将包括上午/下午指示符.


1好吧,我更喜欢使用Noda Time,但这是另一回事......

  • 从海报的名字来看,我相信他会很高兴收到你的答复. (5认同)
  • 所以`Jon Skeet`回答了'Skon Jeet`的问题! (3认同)