我正在尝试使用不变文化和默认选项,使用 M/d/yyyy H:m:s a
格式来解析 4/27/2011 12:00:00 AM
,但是它无法解析。
如果有人能帮助我弄清楚问题所在,我将非常感谢。
你的日期格式缺失了上午/下午标识符tt
,而你的输入文本中却存在。另外,你想要使用12小时制的小时数h
而不是24小时制的小时数,同时看起来你的分钟和秒总是两位数,因此你可能只需要一个这样的日期格式:M/d/yyyy h:mm:ss tt
。
以下是可行的示例代码:
using System;
using System.Globalization;
class Test
{
static void Main()
{
DateTime value;
if (DateTime.TryParseExact("4/27/2011 12:00:00 AM",
"M/d/yyyy h:mm:ss tt",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out value))
{
Console.WriteLine(value);
}
}
}
请参阅MSDN以获取有关自定义日期和时间格式字符串的更多信息。
h
的原因... - Jon Skeet这个模式是不正确的 - 没有 a
格式说明符 - 应该是 tt