请教大家一个问题:
我调用一个函数getmoviecreationtime(),想取一个movie的创建时间, 它的返回值是从1904/1/1 0:0:1到movie创建时间的秒的总长度,我想根据这个秒的总长度算出个日期,请问如何转换.
可能需要一个万年历的算法吧?
或者有没有转门的这个函数,即输入一个参数(秒的长度)和一个basedate(1904/1/1 0:0:1), 返回一个日期?
大侠们有没有好的办法?或者代码?
谢谢...
我调用一个函数getmoviecreationtime(),想取一个movie的创建时间, 它的返回值是从1904/1/1 0:0:1到movie创建时间的秒的总长度,我想根据这个秒的总长度算出个日期,请问如何转换.
可能需要一个万年历的算法吧?
或者有没有转门的这个函数,即输入一个参数(秒的长度)和一个basedate(1904/1/1 0:0:1), 返回一个日期?
大侠们有没有好的办法?或者代码?
谢谢...
long tm = ***;
CTimeSpan ts(tm);
t += ts;
然后用CTime类的Get函数就可以得到年月日了。或者用Format函数获取日期字符串。
你所说的以秒为单位的时间,就是time_t类型的。
楼主怎么还没转过弯来?
好像msdn上的一些日期函数大多数是从1970年开始的...
用COleDateTime和COleDateTimeSpan,用法与CTime和CTimeSpan类似;或者
COleDateTime time1=COleDateTime(time_t& integer);
COleDateTime time2=COleDateTime(1970,1,1,0,0,0);
COleDateTime time3=COleDateTime(1904,1,1,0,0,1);
COleDateTime time4 =time1+(time2-time3);
COleDateTime dt(1904,1,1,0,0,0);
COleDateTimeSpan dtSpan(0,0,0,llSecondSpan); dt += dtSpan;
CString sz = dt.Format("%Y-%m-%d %H:%M:%S");
m_sz = sz;
UpdateData(FALSE);