当前位置: 首页 > 面试题库 >

Linux- Windows时区映射?

仲智
2023-03-14
问题内容

Windows中所有时区的显示方式如下

(GMT+10:00) Canberra, Melbourne, Sydney

格林尼治标准时间(GMT),偏移量和位置。反过来,Linux在/ usr / share / zoneinfo / [Continent] /
[Place]中将每个时区都用作目录映射。

我需要将每个Windows时区映射到我的应用程序的Linux时区。喜欢

(GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi => Asia/Calcutta

现在,位于俄罗斯和美国之间的国际日期变更线西出现了问题。在Windows中,它以(GMT-12:00)International
Date Line West为标志,并且从各种来源中我发现在Linux中,它的Etc / GMT + 12。

(GMT-12:00) International Date Line West => Etc/GMT+12

(GMT+12:00) Coordinated Universal Time+12 => Etc/GMT-12
(GMT-02:00) Coordinated Universal Time-02 => Etc/GMT+2
(GMT-11:00) Coordinated Universal Time-11 => Etc/GMT+11

这让我感到困惑,并且我的应用程序与带有UTC的Timestamp和UTC偏移紧密配合。因此,这种映射使我和应用程序感到困惑。

谁能解释为什么同一位置的偏移量分别为-12和+12?

提前致谢 :)


问题答案:

Unicode.org托管一个映射作为CLDR的一部分。
您可以在此处获取最新版本。从该页面链接的数据还有XML版本。

您可以在此处找到有关如何从XML数据生成映射的示例代码(在Python中)。

必选时区Rant:

请注意,在Windows中实施时区支持的人都是毒品。我不是在开玩笑。查看时区名称。为什么中欧时间被称为“浪漫标准时间”。浪漫吗?什么,因为它包括巴黎,还是?罗马标准时间可能说得通,它也包括罗马,但浪漫!!

另外,在注册表中,时区未按其ID进行组织。不,它们是按其 显示名称
疯狂组织的!由于已本地化,这意味着在Windows的不同翻译版本中,每个时区都将位于不同的键下!!!!因此,要找到正确的时区,您必须查看所有时区以查看哪个时区具有正确的ID。

我在这里也有示例代码。参见get_win_timezone()功能

我不知道这是谁设计的这一点,决定POSIX应该逆转时区的标志,让-8小时指的是同一个人, 加上 8小时。无论如何,我确定他们一起吸烟是非法的。



 类似资料:
  • 问题内容: 这段代码在linux上执行,但是抛出AttributeError:类型对象“ T”在Windows上没有属性“ val”,为什么? 问题答案: Windows缺少系统调用,该系统调用重复了当前过程。这有很多含义,包括Windows多处理文档页面上列出的含义。进一步来说: 请记住,如果在子进程中运行的代码尝试访问全局变量,则它看到的值(如果有)可能与调用Process.start时父进程

  • 我在Windows下写了一个基于Java的多服务器聊天系统。在安全部分,我创建了一个keystore来创建SSLSocket。当我启动3个服务器时,它在Windows(Win10 14393.321)上工作,但在OS X(版本10.12(16a323))和Linux(Ubuntu 14.04.4LTS)上失败。我真的很困惑。下面是密钥库部分: 当我在OS X或Linux上运行第三台服务器时,它显示

  • 如何在窗口中查看时区转换信息?在窗口中,我只能找到我的时区(在香港)是“中国标准时间”。虽然我注意到在IANA数据库中有“亚洲/Hong_Kong”和过去夏令时的一些规则: 非常感谢任何帮助!

  • 问题内容: 我已成功将docker用于Windows 10上带有Linux容器的Windows窗口-但现在我想使用新的闪亮Windows Server 2016进行该任务-但是如何呢? 我已经使用此指南安装了Docker功能:https : //msdn.microsoft.com/zh- cn/virtualization/windowscontainers/quick_start/quick_

  • 问题内容: 在Linux中是否有固定或已知的位置用于存储证书(例如Windows证书存储区)? 谢谢。 问题答案: 是的,对于系统证书,请使用 和 对于用户SSH密钥,请使用用户的主文件夹,该文件夹位于名为.ssh的隐藏文件夹中。 要么 对于apache之类的网络服务器,您可以覆盖在httpd.conf中找到的证书的默认位置。

  • 写这篇文章的原因是再次阅读王珢《谈 Linux,Windows 和 Mac》有感。 Linux 和 Unix 里面包含了一些非常糟糕的设计。 毫无疑问,但是很多 Linux 狂热分子却对此避而不谈,赞美(正面意义)的文章却广为传播,因此初学者容易留下刻板的印象。作为一个(桌面领域)需要推广的操作系统可能并不是错误的决定,但是对于真正想要学习 Linux 和 Unix 哲学的人会造成负面影响。 另外