c # разбор даты и времени с часовым поясом - PullRequest
0 голосов
/ 01 июня 2018

Как мы можем проанализировать дату и время с часовым поясом.

<TIMESTAMP_UTC>20180523160000</TIMESTAMP_UTC>
<TIMEZONE>UTC+8</TIMEZONE>

это должно конвертироваться как в 2018-05-24 00:00:00.Я попробовал пару вещей, но не смог добиться успеха.Я попробовал приведенную ниже команду, но она выдает ошибку.

DateTime.ParseExact("20180523160000+08:00", "yyyyMMddHHmmssZhhmm", System.Globalization.CultureInfo.InvariantCulture)

Знаете ли вы, как мы можем проанализировать это с помощью методов анализа DateTime.

Ответы [ 3 ]

0 голосов
/ 01 июня 2018

Вам нужно использовать DateTimeOffset.ParExact

var date = DateTimeOffset.ParseExact("20180523160000+08:00", "yyyyMMddHHmmsszzz", CultureInfo.InvariantCulture);
0 голосов
/ 01 июня 2018

Вы можете инвертировать знак своего часового пояса, а затем проанализировать его с помощью

var dateTime = DateTime.ParseExact(
    "20180523160000UTC-8",
    "yyyyMMddHHmmssUTCz",
    CultureInfo.InvariantCulture);

Но если это хороший подход, вероятно, сомнительно.

0 голосов
/ 01 июня 2018

Попробуйте использовать DateTimeOffset.Parse() вместо DateTime.Parse(), поскольку DateTimeOffset хранит информацию о часовом поясе.

Для получения более подробной информации см. Следующую ссылку MSDN:

https://msdn.microsoft.com/en-us/library/bb351654(v=vs.110).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...