对于一般的日期和时间,有标准的 C++11 时间类,并且 Glib 库提供了 GDateTime 类,并在 glibmm 中使用 C++ 绑定 Glib::DateTime。也许 Boost 库也有类似的界面。
如果您需要历史日期,例如恐龙出现的时间,您可以编写自己的简单类(除非我提到的选项之一足够好,在这种情况下,您自己计算世纪或千年非常容易)。
编辑:大多数实现将时间表示为 Unix 时间中的秒数或微秒数,即自 1970 年以来,这意味着即使是 64 位整数也可能无法表示古代时间(您可以尝试计算或网络搜索或在维基百科上阅读有关这些限制)。
在这种情况下,一个很好的解决方案是使用一个单独的AncientTime类,它只有一年,而您需要的任何其他内容,例如月/日/小时,都可以通过使用简单的标准DateTime类来实现,在该类中您可以忽略年份或者通过薄包装将其标准化为 0。
| 归档时间: |
|
| 查看次数: |
281 次 |
| 最近记录: |