将字符串转换为DateTime?

时间:2014-12-29 22:45:19

标签: c# datetime

我需要的数据类型是DataTime? 我拥有的示例字符串值类似于11/28/2014 1:40:42 AM 我应该使用什么格式将它们转换为DateTime? 我找到了DateTime.ParseExact方法,但仍然不确定要输入什么作为基于输入形状的格式。

3 个答案:

答案 0 :(得分:1)

您可以使用不变文化来解析此格式:

DateTime? result = DateTime.Parse("11/28/2014 1:40:42 AM", CultureInfo.InvariantCulture);

result变量的类型为DateTime?(与Nullable<DateTime>相同)。请确保您在此处确实需要可为空的类型,因为DateTime.Parse的结果始终为DateTime值且永远不会null

如果你想捕获解析失败的情况,你可以这样做:

DateTime result;
if (!DateTime.TryParse("11/28/2014 1:40:42 AM",
                        CultureInfo.InvariantCulture,
                        DateTimeStyles.None,
                        out result))
{
    // Handle error
}

答案 1 :(得分:0)

您可以使用以下代码。

try
{
   DateTime Value = DateTime.Parse("11/28/2014 1:40:42 AM", CultureInfo.InvariantCulture);
}
catch(Exception e)
{
   //throw exception
}

答案 2 :(得分:-1)

请参阅使用默认格式提供程序的DateTime.Parse(string)。通常你想使用默认值,因为文化转换器改变格式的方式(并且它们改变DateTime很多)。