Отображение местного времени и 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, а затем отображая ее длительные и короткие значения даты.