MarkLogic中提供区域的UTC偏移量

时间:2018-12-19 13:30:41

标签: marklogic marklogic-8 marklogic-9

是否可以通过MarkLogic本地获取给定区域的UTC偏移量?

例如如果区域是“美国/纽约”,则偏移应为-5:00(标准时间)或-4:00(夏令时)

如果内置ML函数无法实现这一点,您会推荐什么? 我想在MarkLogic环境中自己做。

2 个答案:

答案 0 :(得分:1)

MarkLogic从操作系统读取时区设置,因此请在主机本身上更改时区设置。

这里有一些有关如何为CentOS / RedHat进行操作的说明,基本上可以归结为将/ etc / localtime链接到不同的预定义时区文件之一:

https://ma.ttias.be/changing-the-time-and-timezone-settings-on-centos-or-rhel/

HTH!

答案 1 :(得分:1)

从上下文出发,问题本身无法回答。时区偏移量随年份以及地区和位置而变化(由于时区h的性质-政治结构,并非理智)。
规则会随着时间的推移而变化,因为决定此类事情的区域组织会决定这些规则,并且它们在任何理性的方式上都是不一致的。
规则和表内置于每个OS中-取决于OS,本地区域和软件包安装/更新的方式和完整性/准确性不同。通常,它们不会回到过去,并且可能仅包含本地区域的数据。

这些表旨在主要回答“当前语言环境时间是多少”,而次要回答“特定区域名称的当前TZ偏移量是多少”。

结果,“什么是UTC偏移量”的答案不是单个数字常数。

我建议您具体确定问题的意图/用例,然后创建一个适当的表并将其作为文档导入ML。 这样的:

https://en.wikipedia.org/wiki/List_of_tz_database_time_zones

根据实际预期用例进行调整,因为脱离上下文的问题不太可能有一个针对所有目的都是正确的答案。