天天看点

C 获取当前日期时间并转换UNIX时间戳

获取当前日期时间并转换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;
}                

版权声明:本文为CSDN博主「weixin_34290390」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_34290390/article/details/91750479