当前位置: 技术问答>linux和unix
请教:gettimeofday遇到问题
来源: 互联网 发布时间:2016-06-14
本文导语: 我用gettimeofday(&tv , NULL)获得当前时间,保存在tv中。 再用tv.tv_sec换算为date格式(年月日时分秒),结果发现换算后的date比实际时间要晚8个小时,譬如当前时间为2009-06-29 14:50:12,换算后为2009-06-29 6:50:12。 我怀疑...
我用gettimeofday(&tv , NULL)获得当前时间,保存在tv中。
再用tv.tv_sec换算为date格式(年月日时分秒),结果发现换算后的date比实际时间要晚8个小时,譬如当前时间为2009-06-29 14:50:12,换算后为2009-06-29 6:50:12。
我怀疑是不是因为在使用gettimeofday时没有设置时区,所以得到的时间是格林威治时间,正好比北京时间晚8个小时。但查资料一直没有得到一个肯定的说法,请高手予以说明。
如果要直接得到北京时间,时区应该如何设置?
谢谢各位。
再用tv.tv_sec换算为date格式(年月日时分秒),结果发现换算后的date比实际时间要晚8个小时,譬如当前时间为2009-06-29 14:50:12,换算后为2009-06-29 6:50:12。
我怀疑是不是因为在使用gettimeofday时没有设置时区,所以得到的时间是格林威治时间,正好比北京时间晚8个小时。但查资料一直没有得到一个肯定的说法,请高手予以说明。
如果要直接得到北京时间,时区应该如何设置?
谢谢各位。
|
你都发现了这个问题,自己再校正8小时就可以了啊。
|
时区的问题,
需要自己转换
需要自己转换
|
你现在的时区是什么,另外你bios中的时间是不是格林威治时间