Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Вывод Даты/Времени в формате time_t


Автор: math64 3.12.2008, 09:54
Как преобразовать время в формате time_t, используемом при программировании на C/C++ (число секунд прошедших с 1.1.1970 UTC) в строку в локальном времени (dd.MM.yyyy hh:mm:ss)?

Автор: jonie 3.12.2008, 10:30
DateTime.FromFileTime с прибавлением к вашему числу необходимого количества секунд  предварительно ?...

Автор: math64 3.12.2008, 11:13
Код

int time_t_time = 365 * 24 * 60 * 60;
DateTime dt1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
long ticks1970 =  dt1970.Ticks;
DateTime dt = new DateTime(ticks1970 + time_t_time * 10000000L, DateTimeKind.Utc);
dt = dt.ToLocalTime();
label1.Text = dt.ToString("dd.MM.yyyy HH:mm:ss");

На эмуляторе КПК выдаёт 31.12.1970 16:00:00, на реальном устройстве и в обычном .NET приложении работает правильно -(01.01.1971 03:00:00)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)