SYSTTEMTIME、time_t

简介: SYSTTEMTIME、time_t
///
time_t   MySystemTimeToTimet(SYSTEMTIME st )
{
 FILETIME   ft;
 SystemTimeToFileTime( &st, &ft );
 LONGLONG   nLL;
 ULARGE_INTEGER ui;
 ui.LowPart =   ft.dwLowDateTime;
 ui.HighPart = ft.dwHighDateTime;
 nLL =   (ft.dwHighDateTime << 32) + ft.dwLowDateTime;
 time_t pt =   (long)((LONGLONG)(ui.QuadPart - 116444736000000000) / 10000000);
 return   pt;
}
//
SYSTEMTIME   MyTimetToSystemTime(time_t t)
{
 FILETIME ft;
 SYSTEMTIME   pst;
 LONGLONG nLL = Int32x32To64(t, 10000000) +   116444736000000000;
 ft.dwLowDateTime =   (DWORD)nLL;
 ft.dwHighDateTime = (DWORD)(nLL >>   32);
 FileTimeToSystemTime(&ft, &pst);
 return   pst;
}
//
void   ChangeDay(SYSTEMTIME& sysTime,int day)
{ 
 FILETIME ft={0};   
 SystemTimeToFileTime(&sysTime, &ft); 
 ULONGLONG qwResult;
 // Copy the time into a   quadword.
 qwResult = (((ULONGLONG) ft.dwHighDateTime) << 32) +   ft.dwLowDateTime;
 // minus 2 hours.
 qwResult += day * 86400 *   (ULONGLONG)10000000;
 // Copy the result back into the FILETIME   structure.
 ft.dwLowDateTime  = (DWORD) (qwResult & 0xFFFFFFFF   );
 ft.dwHighDateTime = (DWORD) (qwResult >> 32 );
 FileTimeToSystemTime(&ft, &sysTime);
} 
/
SYSTEMTIME* CStringToSystemTime(CString str)
{
 int         nYear   = 0;
 int         nMonth  = 0;
 int         nDay    = 0;
 int         nHour   = 0;
 int         nSecond = 0;
 int         nMinute = 0;
 SYSTEMTIME time;
 _stscanf(str, _T("%d-%d-%d"), &nYear, &nMonth, &nDay);
 time.wYear   = nYear;
 time.wMonth  = nMonth;
 time.wDay    = nDay;
 time.wHour   = nHour;
 time.wSecond = nSecond;
 time.wMinute = nMinute;
 return &time;
}
void SetTimeEdit(CDateTimeCtrl *ctrl,CString str)设置控件时间
{
 ctrl->UpdateData(TRUE);
 LPSYSTEMTIME time=CStringToSystemTime(str);
 CTime ctime(2011,11,11,time->wHour,time->wMinute,time->wSecond);
 ctrl->SetTime(&ctime);
 ctrl->SetFormat(_T("HH:mm:ss"));
}
void CStringToSystemTime(CString str,SYSTEMTIME &time,BOOL isYear)
{//str 08:00:00
  COleDateTime m_CurDate;
  m_CurDate.ParseDateTime(str,0);
  m_CurDate.GetAsSystemTime(time);
}
相关文章
|
6月前
Time
Time
28 0
|
机器学习/深度学习
Time Complexity -mycodeschool
Time Complexity - why should we care? How to analyze Time Complexity? Time Complexity analysis - asymptotic notations. Time Complexity analysis -some general rules.
89 0
获取当前时间的函数 CURRENT_TIME 和 LOCALTIME
获取当前时间的函数 CURRENT_TIME 和 LOCALTIME
141 0
|
Unix
TIME
1142 0
|
关系型数据库