Преобразование местного часового пояса в PST часовой пояс в C # - PullRequest
6 голосов
/ 14 января 2012

Допустим, сейчас мой часовой пояс в системе + 5GMT

прямо сейчас на моей машине 01/14/2012 05:52PM Я хочу преобразовать его в часовой пояс PST, например

1/14/12 4:52:50 AM PST

и наоборотPST до GMT

Ответы [ 3 ]

18 голосов
/ 14 января 2012
TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific SA Standard Time");

DateTime newDateTime = TimeZoneInfo.ConvertTime(existingDateTime, timeZoneInfo);

Вы можете увидеть полный график доступных часовых поясов здесь

Также взгляните на Преобразование между любыми двумя часовыми поясами

0 голосов
/ 23 февраля 2019

Вдохновленный ответом @ HarisHasan выше, следующий метод выдаст PST независимо от того, где работает ваш код:

    public static DateTime GetPacificStandardTime()
    {
        var utc = DateTime.UtcNow;
        TimeZoneInfo pacificZone = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
        var pacificTime = TimeZoneInfo.ConvertTimeFromUtc(utc, pacificZone);
        return pacificTime;
    }
0 голосов
/ 19 января 2018

Ниже код преобразуется в PST.

TimeZoneInfo timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...