//北京时间字串转时间戳 yyyy-mm-dd hh:mm:ss
__int64 getTimestamp(CString strInputTime)
{
COleVariant vtime(strInputTime);
vtime.ChangeType(VT_DATE);
COleDateTime cOleTime = vtime;
SYSTEMTIME systime;
VariantTimeToSystemTime(cOleTime, &systime);
//时间戳最小值为北京时间:1970-01-01 08:00:00
if (systime.wYear <= 1970 && systime.wMonth <= 1 && systime.wDay <= 1 && systime.wHour <= 7 && systime.wMinute <= 59 && systime.wSecond <= 59)
return 0;
CTime cTimeFromDB(systime);
__int64 timestamp = cTimeFromDB.GetTime();//CTime->时间戳
return timestamp;
}
代码应用:
Csring jcsj;
jcsj.Format(_T(“%I64d”), getTimestamp(csTmp)); // 格式化 13位时间戳
该代码段定义了一个函数getTimestamp,它接受一个表示日期和时间的CString对象,然后使用COleVariant和COleDateTime进行日期转换。函数确保转换的时间在1970年1月1日8:00:00之后,然后将系统时间转换为时间戳并返回。最后,示例展示了如何格式化13位时间戳。
1177

被折叠的 条评论
为什么被折叠?



