Функция ниже должна преобразовать следующий Юниксовое время в объект # DateTime C:Unix DateTime Расхождение
время выше должна представлять 5 марта 2012 12:54 вечера.
Однако, каждый раз, когда я запускаю его через функцию ниже, она меняется на 5:54 вечера:
3/5/2013 5:54:46 PM
static readonly DateTime UnixEpoch = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);
static readonly double MaxUnixSeconds = (DateTime.MaxValue - UnixEpoch).TotalSeconds;
public static DateTime UnixTimeStampToDateTime(double unixTimeStamp)
{
return unixTimeStamp > MaxUnixSeconds
? UnixEpoch.AddMilliseconds(unixTimeStamp)
: UnixEpoch.AddSeconds(unixTimeStamp);
}
Как я могу получить время unix, чтобы оно было правильно представлено как 12:54 вместо 5:54?
Вы, вероятно, нужно искать функции для преобразования GMT (или это UTC эти дни?) В местное время , Возможно, это поможет: Язык может быть другим, но требуемые функции часто имеют одинаковые или очень похожие имена на разных языках. –
Хороший вопрос; Я не знаю, в какой часовой зоне они меня посылают. Я просто знаю, что это должно быть 12:54, и когда я подключу его к своей функции, он выйдет 5:45 ... – user1477388
@ user1477388: Вы должны ВСЕГДА спросить себя, в какой временной зоне находится дата или время, ПЕРЕД выполнением чего-либо с Это. –