Работа со временем и часовыми поясами - C#
Формулировка задачи:
Здравствуйте!
Происходят некоторые события, они регистрируются в программе (само событие, дата и время).
Периодически необходимо формировать отчеты по событиям, в зависимости от события необходимо формировать отчет в различных часовых поясах.
Например:
Обращения к серверу по HTTP, HTTPS, SSH, FTP и т.д.
Обращения к серверу по протоколу HTTP, HTTPS надо выводить UTC+0
Обращения к серверу по протоколу SSH надо выводить UTC+2
Обращения к серверу по протоколу FTP надо выводить UTC+3
...
1) Как правильно организовать хранение данных о времени (какой тип)?
2) Как хранить привязку для какого "протокола" какой часовой пояс?
3) Как правильно выводить время в соответствии с указанным часовым поясом?
Листинг программы
- class Events
- {
- /// <summary>
- /// Своойство для хранения времени когда проихошло событие
- /// </summary>
- public DateTime EventsDate { get; set; }
- //...
- }
- class MyProtocols
- {
- /// <summary>
- /// Название протокола
- /// </summary>
- public string NameProtocols { get; set; }
- /// <summary>
- /// Часовой пояс в котором необходимо выводить в отчет,
- /// какой тип свойства необходимо указывать тут?
- /// </summary>
- public object MyUTC { get; set; }
- //...
- }
Решение задачи: «Работа со временем и часовыми поясами»
textual
Листинг программы
- var localTime = DateTimeOffset.Now;
- var offset = TimeSpan.FromHours(-8); // PST
- var pstTime = localTime.ToOffset(offset);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д