Как сконвертировать дату в C# без времени в unixtime?

Добрый вечер всем!
Возник вопрос по поводу даты. Для конвертации Datetime C# в UnixTime я использую такой код:
var epoch = (timePicker.Value - new DateTime(1970, 1, 1)).TotalSeconds;

Всё конечно хорошо конвертирует, но делает это с точностью до секунды. А мне как раз надо получить например 29.05.2015 21:00:00. Т.е. дату нормальную а время чтобы было всегда 21:00:00.
Например выбрал человек в DateTime 23.03.2015, я его конвертирую в UnixTime и должен получить 1427144400, что составит в обычном времени 23 Mar 2015 21:00:00 GMT. И так при любой дате!
Как настроить DateTime либо как сконвертировать чтобы время при переводе обратно получалось 21:00:00?
  • Вопрос задан
  • 907 просмотров
Решения вопроса 2
Scorpi
@Scorpi
Целочисленно делим unixtime на 86400 (количество секунд в сутках), получаем количество прошедших дней с начала эпохи unix, потом обратно умножаем на 86400 и прибавляем 75600 (21*60*60).
Ответ написан
@Sumor
Как-то так?
var epoch = (timePicker.Value.Date.AddHours(21) - new DateTime(1970, 1, 1, 21, 0, 0)).TotalSeconds;

И потом мне кажется что время от 21 часа до 21 часа примерно равно времени от 0 до 0:
var epoch = (timePicker.Value.Date - new DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы