Unix-time — способ хранения времени, используемый обычно в POSIX-совместимых системах. Определяется, как количество секунд, прошедших с 01.01.1970 00:00:00, может встречаться в логах, базах данных, и т.д., как отметка времени (timestamp). Следующий алгоритм поможет преобразовать Unix-время в DateTime
:
1. Заводим переменную DateTime
и инициализируем ее точкой отсчета Unix-time, т.е. полночью 1 января 1970 года:
DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0);
2. Используем метод
AddSecounds()
, чтобы добавить количество секунд, в качестве аргумента передаем переменную, содержащую Unix-time:
origin.AddSeconds(UnixTime);
Вся функция:
private DateTime UnixTimeToDateTime(double UnixTime) { DateTime origin = new DateTime(1970, 1, 1, 0, 0, 0); return origin.AddSeconds(UnixTime); }
Если Unix-time хранится в целочисленной переменной, меняем double
на нужный тип, компилятор сам преобразует ее в тип double
, нужный AddSecounds
.
Pingback: SxGeoSharp. Интерфейс на C# для базы данных SypexGeo. Часть I — инициализация (и введение) | Персональный блог Толика Панкова