vc有什么api算1970年的毫秒数转当前时间

80 篇文章 2 订阅

vc有什么api算1970年的毫秒数转换到当前时间,比如java有 SimpleDateFormat.format可以将一个LongLong型的值,比如说1306334020009转为2011年5月X日,X时,X分的格式。

void MillisecondSince1970ToSystemTime(LONGLONG nMillisecond, SYSTEMTIME *lpstTime)
{
	LARGE_INTEGER liTime;
	liTime.QuadPart = nMillisecond;
	// 先转换为100微秒单位的FILETIME
	liTime.QuadPart *= 10000;
	// FILETIME是1960年开始的,需要和1970年进行转换
	liTime.QuadPart += 116444736000000000;
	// 转换成SYSTEMTIME
	::FileTimeToSystemTime((LPFILETIME)&liTime, lpstTime);
}

int _tmain(int argc, _TCHAR* argv[])
{
	// 获取当前时间模拟输入数据
	LONGLONG nFileTime;
	SYSTEMTIME stTime;
	::GetLocalTime(&stTime);
	::SystemTimeToFileTime(&stTime, (LPFILETIME)&nFileTime);
	nFileTime -= 116444736000000000;
	nFileTime /= 10000;

	// 调用转换函数
	MillisecondSince1970ToSystemTime(nFileTime, &stTime);

	// 输出字符串
	::printf("%04d-%02d-%02d %02d:%02d:%02d",
		stTime.wYear, stTime.wMonth, stTime.wDay,
		stTime.wHour, stTime.wMinute, stTime.wSecond);
}
参考:https://bbs.csdn.net/topics/360244981


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值