Отображение местного времени и GMT в C#
В этом примере используется Timer для выполнения следующего кода каждые полсекунды.
// Обновление часов.
private void tmrClock_Tick(object sender, EventArgs e)
{
// Отображение местного времени.
DateTime now = DateTime.Now;
lblLocalTime.Text = now.ToLongTimeString();
lblLocalDate.Text = now.ToShortDateString();
// Отображение времени GMT.
DateTimeOffset local_offset = new DateTimeOffset(now);
DateTimeOffset utc_offset = local_offset.ToUniversalTime();
lblGmtTime.Text = utc_offset.DateTime.ToLongTimeString();
lblGmtDate.Text = utc_offset.DateTime.ToShortDateString();
}
Вначале используется DateTime.Now для получения текущей даты и времени. Он использует методы ToLongTimeString и ToShortDateString для отображения локального времени и даты.
Далее код преобразует локальное время в DateTimeOffset. Эта структура представляет собой время и дату относительно UTC (который в основном совпадает с GMT). Затем он вызывает метод ToUniversalTime структуры, чтобы преобразовать значение DateTimeOffset в UTC. Код заканчивается, получая структуру DateTimeOffset DateTime, а затем отображая ее длительные и короткие значения даты.
