注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

dp: 生活的脚步,进步的点滴...

Cam、DSP、FPGA、PM、Life、More ...

 
 
 

日志

 
 

时间传递协议需考虑时区  

2012-03-08 14:00:52|  分类: 专业 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
整个地球分为二十四时区,每个时区都有自己的本地时间。在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated)。UTC与格林尼治平均时(GMT, Greenwich Mean Time)一样,都与英国伦敦的本地时相同。
协调世界时 (UTC) 是一个高精度的原子时间标准。世界上的所有时区都可以表示为 UTC 加上或减去一个偏移量。因此,UTC 提供了一种与时区无关(或非特定于时区)的时间。如果日期和时间在计算机之间的可移植性非常重要,则建议使用 UTC 时间。
UTC + 时区差 = 本地时间
时区差东为正,西为负。
北京时区是东八区,领先UTC八个小时,记为 +0800:
UTC + (+0800) = 本地(北京)时间 (1)
UTC = 本地时间(北京时间))- 0800 (2)
为了时间转换正确,发送方和接受方的计算机的时区都要设置正确,交互协议中要注明时区信息。
注:GPS收到的是UTC时间。
因此,在校时或时间传递过程中,只考虑年月日时分秒还是不对的,还需要考虑时区,或者使用标准时间。标准时间其实也考虑了时区。
linux的时区设置函数tzset(), 格式化日期和时间函数:strftime。

Windows可通过以下的Win32函数中来完成这种转换:
// Converting UTCTime to LocalTime.
FILETIME FileTime, LocalFileTime;
SYSTEMTIME UTCTime, LocalTime;
SystemTimeToFileTime(&UTCTIme,&FileTime);
FileTimeToLocalFileTime(&FileTime, &LocalFileTime);
FileTimeToSystemTime(&LocalFileTime, &LocalTime);
  评论这张
 
阅读(410)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016