VC中用于存储时间的格式一般都是CTime么?现在我需要将收到的一串书按年月日的形式组装成一个时间格式然后比较计算时间差,CTIme中只有GetYear这样没发现有组装的函数阿?!
另外用CTime然后我要往数据库里存,数据库格式是DateTime这两个有影响么?
还有 我的时间需要精确到毫秒级,这个在VC中怎么实现
达人进,多谢!!

解决方案 »

  1.   


    CTime t1(1999, 3, 19, 22, 15, 0); // 10:15 PM March 19, 1999
    CTime t2(1999, 3, 20, 22, 15, 0); // 10:15 PM March 20, 1999
    CTimeSpan ts = t2 - t1;             // Subtract 2 CTimes
    ATLASSERT(ts.GetTotalSeconds() == 86400L);
    ATLASSERT((t1 + ts) == t2);       // Add a CTimeSpan to a CTime.
    ATLASSERT((t2 - ts) == t1);       // Subtract a CTimeSpan from a CTime.   this??
      

  2.   

    我觉得我可能没说明白。。
    这样,现在我收到的数是按字节以年、月、日、时、分、秒、毫秒这样发过来的。
    我要把这个时间存储到数据库中,数据库类型是DateTime
    问题1、我是要先转化成CString么,什么格式呢?“20090916 11:15:20.666”这样么?
    2、存储的SQL语句那怎么写呢?
    谢谢谢!
      

  3.   

    INSERT INTO TABLE_NAME (COL_NAME,...) values ('年-月-日 时:分:秒.毫秒',...);
    另外数据库记录时间几乎都是为了记录用户操作日志什么的,为什么还要外面传入呢?
    直接把convert(char,getdate(),120)拼接到SQL语句中由数据库填充当地时间不更好吗?
      

  4.   

    1. 如果算时间差,用 CTimeSpan = CTime - CTime2. 格式化时间用CString  str = CTime.format("yyyy-mm-dd hh:xx.....");3. 再把字符串放到数据库datatime里就行了