不同时间类型之间的转换之SYSTEMTIME 与 time_t
2014-07-16 17:09
656 查看
SYSTEMTIME 与 time_t
time_t ConvertSYSTEMTIME2Timet(const SYSTEMTIME& st, BOOL bUseUTCTime) { time_t ret = -1; struct tm gm = {st.wSecond, st.wMinute, st.wHour, st.wDay, st.wMonth-1, st.wYear-1900, st.wDayOfWeek, 0, 0}; if (!bUseUTCTime) ret = mktime(&gm); // 反向转换 localtime, 使用本地时间 else ret = _mkgmtime(&gm); // 反向转换 gmtime, 使用 UTC 时间 return ret; } SYSTEMTIME ConvertTimet2SYSTEMTIME(time_t& t, BOOL bUseUTCTime) { SYSTEMTIME st = { 1970, 1, 4, 1,0,0,0, 0 }; tm* temptmPtr = NULL; // if (!bUseUTCTime) { SYSTEMTIME stTmp = st; SystemTimeToTzSpecificLocalTime(NULL, &st, &stTmp); st = stTmp; temptmPtr = localtime(&t); // 反向转换 mktime, 使用本地时间 } else temptmPtr = gmtime(&t); // 反向转换 _mkgmtime, 使用 UTC 时间 if (temptmPtr) { st.wYear = 1900 + temptmPtr->tm_year; st.wMonth = temptmPtr->tm_mon + 1; st.wDayOfWeek = temptmPtr->tm_wday; st.wDay = temptmPtr->tm_mday; st.wHour = temptmPtr->tm_hour; st.wMinute = temptmPtr->tm_min; st.wSecond = temptmPtr->tm_sec; } return st; }
相关文章推荐
- 本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- 【原创】Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- Mysql日期时间类型(DATE,DATETIME,TIMESTAMP)和函数及与linux系统时间之间的转换(UNIX_TIMESTAMP、FROM_UNIXTIME)
- Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- Windows的本地时间(LocalTime)、系统时间(SystemTime)、格林威治时间(UTC-Time)、文件时间(FileTime)之间的转换
- Golang 奇葩的时间包之Json与struct对象之间互相转换,JsonDate和JsonTime自定义类型如何实现json编码和解码(二)
- time_t、struct tm,ctime各数据类型、函数详解,转换以及跟时间字符串的转换
- 不同类型之间的转换
- C#中的不同类型之间的显式与隐式转换实现
- utc时间和不同时区之间的转换程序
- javascript不同类型数据之间的运算的转换方法
- time_t和SYSTEMTIME之间的相互转换
- 黑马程序员----C#中的不同数据类型之间的转换
- linux时间戳和oracle date类型之间的转换
- VC++ 时间类型转换: CTime, COleDateTime, time_t, CString