使用特殊格式将字符串转换为DateTime

时间:2019-07-08 17:43:46

标签: c# datetime

如何将该字符串转换为DateTime

string t = "2017-02-20 13h24m18s";

格式为:XXXX-XX-XX XXhXXmXXs

2 个答案:

答案 0 :(得分:1)

您可以使用DateTime.TryParseExact来使用特定格式来解析字符串:

string t = "2017-02-20 13h24m18s";

if(DateTime.TryParseExact(t, @"yyyy-MM-dd HH\hmm\mss\s", CultureInfo.InvariantCulture, 
    DateTimeStyles.None, out var dt))
{
    // parsed successfully into dt
}

只需确保将13h换成HH\h,将24m换成mm\m,将18s换成ss\s

答案 1 :(得分:0)

您可以在转换之前轻松替换值

static public DateTime todate(string t)
{
    t = t.Replace("h", ":");
    t = t.Replace("m", ":");
    t = t.Replace("s", "");
    return DateTime.Parse(t);
}

现在使用

string test = "2017-02-20 13h2m18s";
DateTime a = todate(test);