将dd / MM / yyyy hh:mm tt字符串日期转换为C#日期

时间:2014-12-09 09:08:42

标签: c# datetime

我有一个包含以下日期时间字符串的字符串变量。它的格式为 dd / MM / yyyy HH:mm tt

string temp = "31/12/2014 12:15 AM";

我想将此日期时间分配给C#datetime varialble。

1 个答案:

答案 0 :(得分:1)

如果dd/MM/yyyy hh:mm tt与您的CurrentCulture DateSeparator以及)是CurrentCulture的标准日期和时间格式,您可以直接使用DateTime.Parse

var dt = DateTime.Parse("31/12/2014 12:15 AM");

如果不是,您可以使用DateTime.TryParseExact之类的自定义日期和时间格式;

string s = "31/12/2014 12:15 AM";
DateTime dt;
if(DateTime.TryParseExact(s, "dd/MM/yyyy hh:mm tt", CultureInfo.InvariantCulture,
                          DateTimeStyles.None, out dt))
{
    //
}

只需注意:/ format specifier具有替换当前文化或提供的文化日期分隔符的特殊含义。这意味着如果您使用的文化没有DateSeparator作为/,,那么如果您的字符串和格式完全匹配,则解析操作将失败甚至