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天,

  • 相关阅读:
    bloom(转)
    关于模态对话框某些情况下在opengl下需要按alt才能显示的问题
    程序员的特征
    ffmpeg cross compile
    Tone mapping
    osgXI
    dx11 about post process...
    asp.net网站异常处理方式
    把datatable导出到指定的excel中
    Visual Studio 2008功能提升
  • 原文地址:https://www.cnblogs.com/xiarl/p/3408756.html
Copyright © 2011-2022 走看看