zoukankan      html  css  js  c++  java
  • 【转】VC++计算当前时间点间隔N天的时间(不使用CTimeSpan类)

      转自:http://blog.csdn.net/fzuim/article/details/61199351

      涉及到有效期的设置,需要计算N天时间间隔的时间。

     C++ Code 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    #define QUADPART        10000000i64  
      
    SYSTEMTIME CalTime(
    int nTimeSpan)  
    {  
          SYSTEMTIME sysCurTime;  
          SYSTEMTIME sysOutTime;  
          GetLocalTime(&sysCurTime);  
          LONGLONG lTimeSpan = nTimeSpan * QUADPART * 
    86400;  
          LARGE_INTEGER fTime;  
          SystemTimeToFileTime(&sysCurTime, (FILETIME*)&fTime);  
          fTime.QuadPart += lTimeSpan;  
          FileTimeToSystemTime((FILETIME*)&fTime, &sysOutTime);  
        
          
    return sysOutTime;  
      上面代码就只计算天数间隔,若要类似CTimeSpan( LONG lDays, int nHours, int nMins, int nSecs )计算到时分秒,则传参需要采用类似CTimeSpan类的方式构造个CArTimeSpan(  LONG lDays, int nHours, int nMins, int nSecs  );用成员变量存储对应的天时分秒
     C++ Code 
    1
    2
    3
    4
     
    LONGLONG lTimeSpan  = v_ArTimeSpan.m_iDays * QUADPART * 86400 + 
                         v_ArTimeSpan.m_iHours * QUADPART * 
    3600 + 
                         v_ArTimeSpan.m_iMins * QUADPART * 
    60 + 
                         v_ArTimeSpan.m_iSecs * QUADPART;
  • 相关阅读:
    km算法
    HDU 1358
    HDU 3746
    CF 432D
    HDU 4725
    14年百度之星资格赛第四题
    AC自动机
    RMQ
    HDU 4635
    HDU 3667
  • 原文地址:https://www.cnblogs.com/MakeView660/p/7874140.html
Copyright © 2011-2022 走看看