2010-10-08 2 views
0

В настоящее время у меня есть код, который создает объект CTime из определенного значения.Как преобразовать время в tm struct вместо класса CTime

#define TIME_VALUE 0x301DDF00 // Aug 1, 1995 @ 04:00:00 

CTime t = CTime(TIME_VALUE); 

Это создает нужные даты 1 августа, 1995 4:00:00

Я больше не может использовать CTime, так что я пытаюсь использовать time_t и тм вместо этого. Поскольку конструктор CTime принимает число секунд с 1 января 1970 года, а time_t представляет количество секунд с 1 января 1970 года, я попытался использовать следующий код.

#define TIME_VALUE 0x301DDF00 // Aug 1, 1995 @ 04:00:00 

time_t tmpTime = TIME_VALUE; 
struct tm createTime; 

if(localtime_s(&createTime, &tmpTime) == S_OK) 
{ 
// Use createTime 
} 

createTime заканчивается 1 августа 0095 года 04:00:00. Как я могу перейти от заданного значения к time_t и tm успешно?

Заранее спасибо.

ответ

0

Извините. Я не очень внимательно смотрел на документацию tm. Год - фактический год минус 1900, а месяц - на основе нуля. Я понял.

Смежные вопросы