Уважаемые товарищи знатоки, в каком виде лучше работать со временем в программах? DateTime или TimeSpan? Раньше в php использовал timestamp с преобразованием в дату время, а тут как то сложновато с этим, поэтому возникли сомнения, может не стоит timestamp лишних усилий? Если стоит, то как легче всего конвертировать его в дату-время?
Ответ
Timestamp в PHP - это UNIX формат времени, насколько я помню PHP. Этот формат очень удобен в каких то моментах.
Для .NET ниже, чем 4.6 - только вручную:
// Конвертация в UNIX время
var unixTime = (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
// Конвертация в TimeSpan
var timeSpan = TimeSpan.FromSeconds(unixTime);
// Конвертация в DateTime
var dateTime = (new DateTime(1970, 1, 1, 0, 0, 0, 0)).AddSeconds(unixTime);
Для .NET 4.6 уже добавили готовый вариант:
// Конвертация в UNIX время
var unixTime = DateTimeOffset.Now.ToUnixTimeSeconds();
// Конвертация в DateTime
var dateTime = DateTimeOffset.FromUnixTimeSeconds(unixTime).DateTime;
Документация:
DateTime
TimeSpan
DateTimeOffset
DateTimeOffset.ToUnixTimeSeconds
DateTimeOffset.FromUnixTimeSeconds
Комментариев нет:
Отправить комментарий