用于动态重新加载/usr/share/zoneinfo数据库的库/代码



由于系统/usr/share/zoneinfo数据库的更新非常频繁,我希望能够在一个运行时间很长的C++程序中动态加载它(并重新加载它)。

现在我知道标准库将使用这个数据库,但我怀疑它是否能提供动态重新加载(或者至少我在谷歌上找不到任何关于它的信息)

有什么C或C++库或代码可以用来做这件事吗?

我是个白痴。提供zoneinfo数据库的IANA也提供了一个使用它的库。有趣的是,我通过阅读postgresql源代码发现了这一点。

我不确定这是否足够,但它是公共领域许可的,所以至少我可以把它拉到我的代码中,并根据我的需求进行调整。

localtime等使用tzset设置的时区转换信息,因此通常可以通过将TZ设置为某个值、调用tzset、将其设置回并再次调用来重新加载该信息。这将适用于glibc,但您可能应该在其他平台上进行检查。

否则,您将使用其他一些非Posix API来访问zoneinfo数据库,并且您应该查看该库用于重新加载其数据的设施。

相关内容

  • 没有找到相关文章

最新更新