目前我正在为 ESP32 微控制器编写一个组件。因此我需要一个所有时区的列表。
我发现了许多时区文件的来源,但它们对时区值使用不同的格式。一个例子是欧洲/乌里扬诺夫斯克。一些文件使用<+04>-4,其他文件使用UNK-4。
ESP32 可以正确处理UNK-4 ,但会以<+04>-4之类的值失败。
有人可以解释一下,“<”和“>”的格式是什么意思?他们为什么不使用缩写?不幸的是,iana 时区数据库也使用了这种格式。
在这个链接:https ://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html你可以阅读“ std字符串指定时区的名称。它必须是三个或更多字符长并且不得包含前导冒号、嵌入数字、逗号、加号和减号。 ”
那么这怎么可能是一个有效的 TZ 值呢?
在此链接中:https ://man7.org/linux/man-pages/man5/tzfile.5.html您可以阅读“一些读者错误处理包含“<”的 POSIX 样式 TZ 字符串 或“>”。作为部分解决方法,作者可以避免使用“<” 或“>” 对于仅包含字母字符的时区缩写。 "
显然 ESP32 受到了这个问题的影响。那么是否有另一个官方来源的时区数据库使用不带“<”和“>”的格式?
谢谢你的帮助!
干杯哈拉尔