time_t、SYSTEMTIME、CTime、COleDateTime互轉
/*
**CString轉COleDateTime
*/
const CString baseVideoDayTime = "1980-01-01 15:56:48";
COleDateTime creat_date;
bool b = creat_date.ParseDateTime(baseVideoDayTime);//需要指定的字元格式
/*
**COleDateTime轉SYSTEMTIME
*/
SYSTEMTIME sysTime;
creat_date.GetAsSystemTime(sysTime);
/*
**SYSTEMTIME轉CTime
*/
CTime t0;
t0=sysTime;//呼叫CTime構造
//time_t 型別在單位(秒),計算比較時方便,需要 #include <time.h>
/*
**time_t轉SYSTEMTIME
*/
SYSTEMTIME Time_tToSystemTime(time_t t)
{
tm *ptm = localtime(&t);//time_t 先轉為tm
SYSTEMTIME st = {1900 + ptm->tm_year,
1 + ptm->tm_mon,
ptm->
ptm->tm_mday,
ptm->tm_hour,
ptm->tm_min,
ptm->tm_sec,
0};
return st;
}
/*
**SYSTEMTIME轉time_t
*/
time_t SystemTimeToTime_t( const SYSTEMTIME& st )
{
tm temptm = {st.wSecond,
st.wMinute,
st.wHour,
st.wDay,
st.wMonth - 1,
st.wYear - 1900,
st.wDayOfWeek,
0,
0};
return mktime(&temptm);
}