我需要一个很像 Java 的 GregorianCalendar 的库,但是在 C 或 C++ 中

I need a library much like Java's GregorianCalendar but in C or C++

虽然这看起来不像是一个编程问题,但非程序员不会知道我在说什么。如果你能推荐一个更合适的 stack* 论坛,我会很乐意去那里问,但我认为这是我最好的选择。

libical 是一个好的开始,但它离我需要的还差得很远。 我不想重新发明大量的日历数学函数,如果它们已经存在的话,我也不想吸收 boost 或 roguewave 或类似的东西来做日历。

有什么建议吗?我看了又看,一无所获,但我的 google-fu 不是至高无上的。

我怀疑最好的答案是 Boost 的 date_time 库。尽管您应该先看看您的 C++ 框架是否已经有了一些东西。尽可能尝试匹配您的框架。

如果拒绝 Boost,您就是在拒绝这样一个库,该库不仅经过广泛的设计审查,而且可能由您可以猜到(希望)对日期时间计算的挑剔细节有经验的人进行过广泛测试。

但是好吧,我真的可以理解尽可能避免使用 Boost 的愿望。

但是您正在进入一个世界,在这个世界中,您有比平时更多的责任来验证设计和实施。

也就是说,这个库看起来很有希望满足您的需求:Howard Hinnant's date library on github (see also his pages here for a man page and here for a description of the algorithms used。当然,我没有使用过它。 (如果你接受这个建议,请在这里反馈,这样我们就会知道这个图书馆的价值。)