嵌入式 Linux下时间处理问题

原创 2013年12月02日 14:51:56
   struct tm *tmnow;
    structtimeval tv;
   gettimeofday(&tv,NULL);//获得当前的秒数和微妙
    tmnow =localtime(&tv.tv_sec);//把当前的秒数转换成一种时间格式
   eric_print("build time:"__DATE__"  "__TIME__"\n");


2013/09/22 15:09:09:965705 build time :Sep  52013  19:26:26
2013/09/22 15:09:09:965800 2013/09/22 15:09:09:965812 rjrm.c200 
2013/09/22 15:09:09:971377 bind port 8551
2013/09/22 15:09:09:971414 socket created
2013/09/22 15:09:09:971435 binded
2013/09/22 15:09:09:971453 begin listen port 8551

#define eric_print(...){print_current_time(); printf(__VA_ARGS__);}
inline void print_current_time(void)
{
    struct tm*tmnow;
    structtimeval tv;
   gettimeofday(&tv,NULL);
    tmnow =localtime(&tv.tv_sec);
  
   printf("d/d/d d:d:d:ld ",\
      tmnow->tm_year+1900, tmnow->tm_mon+1,tmnow->tm_mday,tmnow->tm_hour,\
      tmnow->tm_min, tmnow->tm_sec,tv.tv_usec);
   
}

一、 gmtime和localtime前后使用会有影响

#include <stdio.h>
#include <time.h>

int main(int argc, char **argv)
{
 time_t now;
 struct tm *tmutc, *tmlocal;

 
 time(&now);

 
 tmutc = gmtime(&now);

 tmlocal = localtime(&now);


 
 printf("%s标准时间为:\t%s",tmutc->tm_zone, asctime(tmutc));
 
 printf("%s时间为:\t%s",tmlocal->tm_zone, asctime(tmlocal));

 return 0;
}

*******************************************

CST标准时间为: Tue Jan 31 09:23:17 2012
CST时间为:    Tue Jan 31 09:23:17 2012

******************************************

二、 gmtime和localtime分开使用

#include <stdio.h>
#include <time.h>

int main(int argc, char **argv)
{
 time_t now;
 struct tm *tmutc, *tmlocal;

 
 time(&now);

 
 tmutc =gmtime(&now); 

 
 printf("%s标准时间为:\t%s",tmutc->tm_zone, asctime(tmutc));

 tmlocal =localtime(&now);
 
 printf("%s时间为:\t%s",tmlocal->tm_zone, asctime(tmlocal));

 return 0;
}

*************************************************

GMT标准时间为: Tue Jan 31 01:24:40 2012
CST时间为:    Tue Jan 31 09:24:40 2012

************************************************

相关文章推荐

欧姆龙指令的时间处理问题

  • 2015年03月31日 16:29
  • 368KB
  • 下载

ffdemux_mpegts中时间戳的处理问题

ffdemux_mpegts是gstreamer的demux plugin,基于ffmpeg,在使用的时候发现处理实时流存在问题。 先来描述一下问题,采用gst-launch命令启动转码,命令如...

chrome插件开发之:关于处理定时下单的时间点的处理问题

系统显示的时间和插件显示的时间,不知道为什么总有点差,有时候居然差1秒。理论上应该是同步才对。 因为对于这种到点自动购物的软件,如果连时间都抓不准,那这个软件也没什么用途了! 再细研究,发现一个细...
  • samt007
  • samt007
  • 2016年10月09日 19:44
  • 587

javascript 时间处理问题

/// 使用本机获取时间 var a = new Date(); /// 通过简易的时间串初始化 var b = new Date('2015-10-29'); /// 使用带有时间的串初始化 v...

Linux下的微型嵌入式GUI

  • 2007年09月22日 03:39
  • 279KB
  • 下载

linux c++中文处理问题及occi入库中文

最近遇到了C++处理中文问题,系统收到UDP消息中的中文为Unicode编码按字符转为ascii码的格式发过来的,例如,外部系统要发个“君”过来,则实际发过来的是“541b”四个字符,现在需要将收到的...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:嵌入式 Linux下时间处理问题
举报原因:
原因补充:

(最多只允许输入30个字)