zoukankan      html  css  js  c++  java
  • vs环境下的 时间差值

    c标准库的是不行,1970年之前虽int变量可设负值,但运算不行。

    //#include<time.h>
    //
    //int GetTimeSpan()
    //{
    //    long ttt = timezone;
    //    __time64_t timeGet;//1383625542
    //    _time64(&timeGet);
    //   
    //    __time64_t timeComp(333);
    //
    //    double dVvv = _difftime64(timeGet, timeComp);
    //    DATE_YEARMONTH
    //    return RETURN_OK;
    //}

    #include<ATLComTime.h>

    int GetTimeSpan()
    {
        COleDateTime dtObj;
        dtObj = COleDateTime::GetCurrentTime();

        DATE dtT = dtObj.m_dt;

        int iDay = dtObj.GetDay();

        //string strData = dtObj.Format();//Format()有些重载,如需要可选用
        wstring wstrData = dtObj.Format();// .GetBuffer();

       
        dtObj.SetDate(900, 12, 30);//设置之后只有日期部分,格式化字符串也是
        wstrData = dtObj.Format().GetBuffer();
        dtObj.SetDateTime(900, 12, 30, 13, 44, 22);
        wstrData = dtObj.Format().GetBuffer();
        dtObj.SetTime(0, 0, 10);//设置之后只有时间部分,格式化字符串也是
        wstrData = dtObj.Format().GetBuffer();

        unsigned int index = 0;
        while (true)
        {
            dtObj.SetDate(index++, 12, 30);
    //        wstring wstrDatattt = (LPWSTR)dtObj.Format()/*.GetBuffer()*/;
        }

        return RETURN_OK;
    }

    上面这种是可以的,编译过的,但,唉,又要用ATL的,虽然说也比网上找的应该不会差,但是,,没源码吧,以后再看看吧,

    这里的DATE对于其实为double,且可以为负值,值每增加1代表增加1天,

  • 相关阅读:
    杂记:Linux下gcc升级
    杂记:OSX下编译安装最新版RedisDesktopMmanager
    查漏补缺:Vector中去重
    Mac下使用VScode进行C/C++开发
    添砖加瓦:几种常见的数据摘要算法(MD5、CRC32、SHA1和SHA256)
    添砖加瓦:snappy无损压缩算法
    杂记:OSX 安装openssl
    码海拾遗:内存四区
    Luogu 4284 [SHOI2014]概率充电器
    Luogu 4473 [国家集训队]飞飞侠
  • 原文地址:https://www.cnblogs.com/xiarl/p/3408756.html
Copyright © 2011-2022 走看看