码迷,mamicode.com
首页 > 移动开发 > 详细

150205android获取系统时间

时间:2015-02-05 16:18:55      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

参考的网站如下:

http://c.biancheng.net/cpp/html/144.html

http://www.linuxidc.com/Linux/2012-03/55909.htm

 

代码如下:

 1 time_t timep;
 2 struct tm *p;
 3 time(&timep);
 4 p = localtime(&timep); //取得年月日时分秒
 5 
 6 struct timespec timeNow;
 7 
 8 clock_gettime( CLOCK_REALTIME, &timeNow); //取得纳秒转换成毫秒
 9 
10 char buf[256]={0};
11 sprintf(buf, "%d:%02d:%02d-%02d:%02d:%02d-%03d",1900+p->tm_year,1+p->tm_mon,p->tm_mday,p->tm_hour,p->tm_min,p->tm_sec,(int)(timeNow.tv_nsec/1000000));

 

有一个问题就是指针p是否需要删除。自己测试发现删除的话,程序会崩溃,不删除则正常。网上查了一下,http://bbs.csdn.net/topics/360064214,里面说不需要删除,不过localtime在多线程下不安全,可以用localtime_s代替。暂时不需要考虑那么多,所以就不管了。。。

那里面的13楼说:

由__getgmtimebuf函数可知 struct tm *ptb = _malloc_crt(sizeof(struct tm))) 
空间是这样申请来的
__getgmtimebuf是localtime函数调用的

 

所以不需要释放吧。

150205android获取系统时间

标签:

原文地址:http://www.cnblogs.com/darkknightzh/p/4275110.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!