我们有一个嵌入式Linux系统,用户可以从系统的tzfile列表中设置时区(因此国家/地名,GMT+-n,UTC)或时区/$TZ可以直接由远程服务器(不知道时区名称)以POSIX格式(EG CET-01:00:00CEST-02:00:00,M3.5.0/02:00:00,M10.5.0/03:00:00
或EST5EDT
)设置。
无论哪个实体最后设置时区(无论是人工还是远程服务器),我们都需要以 POSIX 格式将本地时区设置报告回远程服务器,最好是尽量减少谎言/捏造。
在我卷起袖子,戴上尖尖的帽子,开始手工解析tzfile格式之前,我认为值得问一下是否有预先存在的函数/库或示例?
我已经浏览了标准库,看不到任何专门执行此操作的内容。
tzfile 以时区 POSIX 格式结尾。我不知道它是否有标准的库函数,但您所要做的就是在文件末尾寻找一个换行符,后跟一个字符串和另一个换行符。中间的字符串是 POSIX 格式的时区。