如何将时间转换为tm结构而不是CTime类

时间:2010-10-08 20:44:11

标签: time-t ctime

我目前有代码从定义的值创建CTime对象。

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

CTime t = CTime( TIME_VALUE );

这将创建所需日期为1995年8月1日04:00:00

我不能再使用CTime了,所以我尝试使用time_t和tm代替。由于CTime构造函数接受自1970年1月1日以来的秒数,而time_t表示自1970年1月1日以来的秒数,我尝试使用以下代码。

#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结束时间为8月1日0095 04:00:00。我怎么能从定义的值到time_t和tm成功?

提前致谢。

1 个答案:

答案 0 :(得分:0)

对不起。我没有仔细查看tm文档。年份是实际年份减去1900年,月份为零。我现在知道了。