获取当前日期时间并转换UNIX时间戳,废话就不多讲了,直接上代码,代码也比较简单,只是起到一个记录的作用,所以代码中就不带注释了.
#include <stdio.h> /* puts */
#include <time.h> /* time_t, struct tm, time, localtime, strftime */
#include <string>
#include <iostream>
int main ()
{
// 获取当前日期时间
std::string s;
char stime[256] = { 0 };
time_t now_time;
time(&now_time);
strftime(stime, sizeof(stime), "%F %H:%M:%S", localtime(&now_time));
s = stime;
std::cout << s << std::endl;
//转换UNIX时间戳
struct tm tm;
strptime(s.c_str(),"%F %H:%M:%S", &tm) ;
time_t ft=mktime(&tm);
int i_time = ft;
std::cout << i_time << std::endl;
return 0;
}
运行结果:
2016-03-11 15:56:58
1457683018
PS:
直接获取UNIX时间戳
#include <iostream>
#include <string>
#include <sys/time.h>
int main()
{
struct timeval tm;
unsigned long ms;
gettimeofday(&tm,NULL);
ms = tm.tv_sec;
std::cout << ms << std::endl;
return 0;
}