我们有一个嵌入式 Linux 系统,用户可以从系统的 tz 文件列表中设置时区(国家/地名、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手动格式化我认为值得询问是否有预先存在的函数/库或这样做的示例?
我已经搜索了标准库,但看不到任何专门执行此操作的内容。
最佳答案
tz 文件以时区 POSIX 格式结尾。我不知道是否有适用于它的标准库函数,但您只需寻找一个换行符,后跟一个字符串和文件末尾的另一个换行符。中间的字符串是 POSIX 格式的时区。
关于c - 时区文件到 POSIX 时区字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27387017/