Конвертировать строку в DateTime, используя специальный формат - PullRequest
0 голосов
/ 08 июля 2019

Как преобразовать эту строку в DateTime:

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

Формат: XXXX-XX-XX XXhXXmXXs

Ответы [ 2 ]

1 голос
/ 08 июля 2019

Вы можете использовать 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.

0 голосов
/ 08 июля 2019

Вы можете легко заменить значения перед преобразованием

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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...