gpt4 book ai didi

c - 日期时间作为键

转载 作者:行者123 更新时间:2023-11-30 14:26:40 24 4
gpt4 key购买 nike

我正在尝试使用日期时间类型作为 b 树 BerkeleyDB 数据库中的键。我的目标:

  1. 日期时间存储的最小开销
  2. 按日期进行键比较(检索范围)
  3. 速度合理

如何以最紧凑的形式表示日期时间并使用默认的 bsddb 的键比较算法?

用 C 语言执行此操作并为此类任务创建小型 Python 扩展是否很困难?我没有 C 经验,只能理解小的 C 代码片段(并复制粘贴它们)。

最佳答案

您对什么范围的日期时间值感兴趣?当时的决议是什么?

fge在评论中指出,如果您希望在 1902-2037 的期间内获得 1 秒的分辨率,那么您可以使用 32 位有符号整数和自 Unix 纪元(即 1970-01-01 00:00)以来的秒数:00 +00:00(UTC 时间 1970 年 1 月 1 日午夜)。如果您想要更宽的范围,那么您可能应该使用相对于 Unix Epoch 的 64 位有符号整数。如果您想要亚秒级精度,请存储一个 32 位有符号整数,即纳秒数。请注意,对于负时间(1970 年之前),秒的小数部分也应该为负数。

建议这些表示的一个原因是可以通过标准 Unix (POSIX) 接口(interface)轻松找到该值,例如 time() 1 秒分辨率和 clock_gettime()纳秒分辨率或 gettimeofday()微秒分辨率。

关于c - 日期时间作为键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8782379/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com