【问题标题】:Pack timestamp in 4 bytes [closed]以 4 个字节打包时间戳 [关闭]
【发布时间】:2014-03-03 23:39:03
【问题描述】:

我的内存使用非常有限。

我需要在我的程序中存储一个日期时间。精度是一秒。一个日期时间值只有 4 个字节。

实现这一目标的最佳方法是什么?

【问题讨论】:

  • 可能是 POSIX 时间戳,我相信自 1970 年 1 月 1 日以来的时间为 1 秒
  • 结束投票:问题太宽泛(基于意见)!
  • @TheOne 一般 32 位太窄了!取决于 OP 最终想要达到的精度。
  • @TheOne 说了什么,但要小心Y2038 problem
  • @MarkRansom 1970 年 1 月 1 日之前 日期的计算怎么样。当然不可能得到这样的'时间戳'......(可以'实际上,现在不赞成任何事情,但会赞成您的评论!)

标签: c++ timestamp ctime time-t qdatetime


【解决方案1】:

选择您需要表示的最早日期/时间并标记您的时代。然后使用四字节无符号类型作为 seconds-since-epoch。请注意,这只会为您提供约 68 年的范围,但这就是您可以得到的所有限制。

【讨论】:

  • unsigned 类型将给您最多 4294967295 秒或 136 年,而不是 68 年。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多