DevilsCod Ответов: 3

Как конвертировать дату и время в формат utc


Mon, 18 Jun 2018 10:26:11 +0000 (UTC)


Как преобразовать приведенный выше тип строки даты в ASP.NET

Что я уже пробовал:

я пытался вот так
DateTime.TryParse(msg.Headers.Date, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal, out dtout);


но не работает. плз помогите

3 Ответов

Рейтинг:
21

OriginalGriff

Попробуйте DateTime.Метод tryparseexact:

string inp = "Mon, 18 Jun 2018 10:26:11 +0000 (UTC)";
string format = "ddd, d MMM yyyy hh:mm:ss zzzz (UTC)";
DateTime dt;
if (!DateTime.TryParseExact(inp, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
    {
    Console.WriteLine("Nope!");
    }
- Я? Я бы, вероятно, убрал часть "(abc)" с конца вместо того, чтобы жестко кодировать название часового пояса


[no name]

Красивое и элегантное решение. Однако если часовой пояс не является (UTC), он не будет разбираться. Я сделал альтернативу, которая просто проверяет часть +0000.

OriginalGriff

Вот почему я сказал, что, вероятно, сниму его! :смеяться:

[no name]

Ага, я неправильно понял это, когда прочитал в первый раз. Тогда все хорошо :)

Рейтинг:
2

Vinod Jangle

Эта публикация имеет решения для форматирования даты посмотрите работает ли она для вас

https://www.c-sharpcorner.com/blogs/date-and-time-format-in-c-sharp-programming1


Рейтинг:
0

User 7429338

У OriginalGriff есть хорошее решение, но если часовой пояс не является (UTC), он не будет разбираться. Вместо этого я бы удалил эту часть перед разбором:

string inp = "Mon, 18 Jun 2018 10:26:11 +0000 (UTC)";
inp = inp.Substring(0, inp.IndexOf(" ("));
string format = "ddd, d MMM yyyy hh:mm:ss zzzz";
DateTime dt;
if (!DateTime.TryParseExact(inp, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)) {
  Console.WriteLine("Nope!");
}