库用于处理历史(大)日期和时间(例如,公元前11,043年)
library to work with historical (big) dates and time (eg, 11,043 BC)?
是否有一个库可以处理历史(大)日期(例如,公元前11,043年)?得到世纪,千年?
对于一般的日期和时间,有标准的c++ 11时间类,Glib库提供了GDateTime类,在glibmm中有一个c++绑定Glib::DateTime。也许Boost库也有类似的接口。
如果你需要历史日期,比如恐龙出现的时间,你可以自己编写一个简单的类(除非我提到的其中一个选项足够好,在这种情况下,自己计算世纪或千年是非常容易的)。
编辑:大多数实现将时间表示为Unix时间中的秒数或微秒数,即自1970年以来,这意味着即使是64位整数也可能无法表示古代时间(您可以尝试计算或网络搜索或在维基百科上阅读这些限制)。
在这种情况下,一个很好的解决方案是使用一个单独的AncientTime类,它只有一个年份,其他任何你需要的东西,比如月/日/小时,都可以通过使用一个简单的标准DateTime类来实现,在这个类中,你可以忽略年份,或者通过一个薄包装将其归一化为0。
看看dateutil
递归规则和相对增量是你想要的。
相关文章:
- 子目录是否继承属性,例如add_definitions,include_directories和父Cmakelist.t
- 标准是否使用多余的大括号(例如 T{{{10}}})定义列表初始化?
- 将数字转换为字母(例如:123 转换为一二三)
- Visual studio代码重构似乎不起作用(例如,重命名符号-f2)
- 如何计算数据类型的范围,例如int
- 这是否符合C++标准:双响双响,例如!!(-0.0).
- 如何将CMSampleBufferRef/CIImage/UIImage转换为像素,例如uint8_t[]
- 使用 make 编译 MPI,几个命名空间错误,例如"错误:未知类型名称'使用'?
- 如何使用文件中的文本,例如变量
- 输入值后,如何在一个括号下显示值,例如"{6,7,8,9}
- 给定一个类型,如何派生一个泛型更广泛的类型(例如,用于溢出安全求和)?
- 初学者问题:如何使用这些晦涩难懂的命令,例如C++中的'RenderWindow'
- C++:将值 int(例如:0x00AAFAD8)转换为指针(指针本身也是 0x00AAFAD8 值)
- 具有多种约束(例如重量、体积等)的背包
- 较高值 n 的分割错误(例如 n=999997)
- 我正在尝试制作一个程序,在添加 n 天(整数)后告诉一个人什么是一天(例如星期一等)
- 在标准中,模板参数的语法在哪里定义,例如,'std::function<int(char)>'?
- 从/到 UTF-8/UTF-16 的转换需要(例如:utf8 -> 代码点,然后代码点到 utf16)或(例如:utf8 -> utf16)?
- 计算车辆之间的距离并设置速度,使距离保持不变,例如 5 米
- 库用于处理历史(大)日期和时间(例如,公元前11,043年)