我将时区信息保存为 "PST -8 0"
。我想将其转换为等效的时区名称,例如美国/洛杉矶
。
是否有任何库或 API 可用于此转换?我正在为此任务寻找 BASH 命令或 PYTHON API。
我不确定这种转换是否可能首先并征求您的意见。
最佳答案
虽然在某些特定情况下您可以按要求执行操作,但在一般情况下您不能这样做,原因如下:
时区缩写可能不明确。例如,
"CST"
有 5 种不同的含义。参见 Wikipedia's list of time zone abbreviations .时区缩写不统一且不一致。维基百科的列表可能与您在其他地方找到的其他缩写词列表不同。在世界上的一些地方,没有缩写词在使用,而另一些地方则争论正确的缩写词应该是什么。
时区偏移量并不完全代表一个时区。太平洋时间不是-8。冬天是-8,夏天是-7。它会随着夏令时而变化。
tzdb 中的许多不同时区标识符在某个时间点共享相同的偏移量,有时甚至共享相同的缩写。对于您给出的示例,结果很容易是
America/Vancouver
而不是America/Los_Angeles
。在某些情况下,可以匹配的各个区域对于不同的时间点会有很大的不同。引用the list of tzdb zones on Wikipedia ,其中包括它们的偏移量。
关于python - 从 PST -8 0 到其字母名称的时区转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34301915/