Текущее время часового пояса

У меня есть различные часовые пояса и их GMT и DST. Пример:

TimeZoneId        |   GMT offset  |   DST offset  
                  |  1. Jan 2010  |  1. Jul 2010
--------------------------------------------------
America/Adak      |    -10.0      |     -9.0
America/Anchorage |     -9.0      |     -8.0
America/Anguilla  |     -4.0      |     -4.0
America/Antigua   |     -4.0      |     -4.0
America/Araguaina |     -3.0      |     -3.0

Это часовые пояса обеспечивается Геоименем.

Как я могу вычислить текущее время для какого-либо часового пояса knowning GMT и DST в C#/.NET?

Обновление: Для определения лучше я обеспечиваю "Америку/Антигуа", и мне требуется текущее время в "Америке/Антигуа".

6
задан g t 14 July 2017 в 05:55
поделиться

2 ответа

TimeZoneInfo.ConvertTimeFromUtc(mytime, TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time"));
6
ответ дан 10 December 2019 в 00:31
поделиться
private static ReadOnlyCollection<TimeZoneInfo> _timeZones = TimeZoneInfo.GetSystemTimeZones();

public static DateTime ToUsersTime(this DateTime utcDate, int timeZoneId)
{
    return TimeZoneInfo.ConvertTimeFromUtc(utcDate, timeZones[timeZoneId]);
}

Пример преобразования даты UTC в дату пользователя с помощью класса TimeZoneInfo (.NET 3.5+).

1
ответ дан 10 December 2019 в 00:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: