C# 使用特殊格式将字符串转换为日期时间

C# 使用特殊格式将字符串转换为日期时间,c#,datetime,C#,Datetime,如何将此字符串转换为DateTime: string t = "2017-02-20 13h24m18s"; 格式为:XXXX-XX-XX XXhXXmXXs您可以使用特定格式解析字符串: string t = "2017-02-20 13h24m18s"; if(DateTime.TryParseExact(t, @"yyyy-MM-dd HH\hmm\mss\s", CultureInfo.InvariantCulture, DateTimeStyles.None, out v

如何将此字符串转换为
DateTime

string t = "2017-02-20 13h24m18s";
格式为:XXXX-XX-XX XXhXXmXXs

您可以使用特定格式解析字符串:

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
,您可以在转换之前轻松替换值

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);

如果这解决了你的问题,你能接受它作为答案,这样其他人就知道这个问题已经解决了吗。