前一段时间工作需要用到毫秒级的时间戳,就百度了一下,网上都有,现在我把它封装一下给大家方便使用。
先上代码:(我使用的IDE:VS2017)
#include <windows.h>
#include <stdio.h>
#include <iostream>
#include <sys/timeb.h>
#include <string>
using namespace std;
long long getTimeStamp()
{
timeb t;
ftime(&t);
return t.time * 1000 + t.millitm;
}
void func()
{
//获取毫秒级时间操作
SYSTEMTIME sys;
GetLocalTime(&sys);
char shijianchuo[50];
char showtime[50];
sprintf_s(shijianchuo, "%04d%02d%02d%02d%02d%02d%02d"
, sys.wYear, sys.wMonth, sys.wDay
, sys.wHour, sys.wMinute, sys.wSecond, sys.wMilliseconds);
sprintf_s(showtime, "%04d-%02d-%02d %02d:%02d:%02d:%02d"
, sys.wYear, sys.wMonth, sys.wDay
, sys.wHour, sys.wMinute, sys.wSecond, sys.wMilliseconds);
cout << shijianchuo << endl;
cout << showtime << endl;
}
int main(void)
{
func();
string unix;
unix= to_string(getTimeStamp());
cout << unix << endl;
return 0;
}
上面是时间戳形式的和平时时钟显示的时间还有unix时间。