加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C的时区偏移类型没有明显的时间戳.滚我们自己?

发布时间:2020-12-16 07:04:40 所属栏目:百科 来源:网络整理
导读:我搜索了Google和StackOverflow,并且发现了相关的讨论,但没有解决这个问题:是否有任何标准或常用的C类型来保存对应于(本地时间,与UTC的偏移量)的时间戳? 此日期格式对应于ISO 8601,.NET中的System.DateTimeOffset以及多个数据库系统中的TIMESTAMP WITH TIM
我搜索了Google和StackOverflow,并且发现了相关的讨论,但没有解决这个问题:是否有任何标准或常用的C类型来保存对应于(本地时间,与UTC的偏移量)的时间戳?

此日期格式对应于ISO 8601,.NET中的System.DateTimeOffset以及多个数据库系统中的TIMESTAMP WITH TIME ZONE.

我希望能够正确处理比较和增量,并且已经转换为ISO 8601.

笔记:

>无论它们有什么好处,使用POSIX类型的时区都不是一种选择.我们使用医疗行业标准接口与之交互的系统提供时间戳作为未指定的本地时间或(本地时间,与UTC的偏移).他们根本不提供全时区信息.
>将所有内容转换为UTC也不是一种选择.从记录时间的系统的角度来看,当地时间是我们不能丢失的重要信息.
>在boost和C 11中的time_point是可爱的,但我看不出如何将它应用于这个问题,至少不是没有笨拙的时钟(或时代)扩散.但是,我愿意接受如何做的指导.

后退是我们自己的回击,但我无法相信我们是第一个面对这个问题的人.

解决方法

而不是存储本地时间和TZ偏移量,使用boost :: local_date_time并存储UTC和TZ偏移量.它完全相同,已经为你推出了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读