MarkLogic中提供的区域的UTC偏移量

MarkLogic中提供的区域的UTC偏移量,marklogic,marklogic-8,marklogic-9,Marklogic,Marklogic 8,Marklogic 9,是否有办法在MarkLogic中获取给定区域的UTC偏移量 e、 g.如果区域为“美国/纽约”,则偏移量应为-5:00(标准时间)或-4:00(夏令时) 如果内置的ML函数无法实现这一点,您会推荐什么? 我想在MarkLogic环境本身中执行此操作。MarkLogic从操作系统读取时区设置,因此更改主机本身的时区设置 下面是有关如何为CentOS/RedHat执行此操作的一些说明,基本上可以归结为将/etc/localtime链接到一个不同的预定义时区文件: 嗯 这个问题本身是断章取义无法回答

是否有办法在MarkLogic中获取给定区域的UTC偏移量

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

如果内置的ML函数无法实现这一点,您会推荐什么?
我想在MarkLogic环境本身中执行此操作。

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

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


这个问题本身是断章取义无法回答的。时区偏移量随着年份以及地区和地点的不同而变化(由于时区h的性质——一种政治构造,并非任何合理的东西)。
随着时间的推移,这些规则会随着决定这些事情的区域组织的决定而变化,并且以任何理性的方式都不一致。
规则和表格以不同的方式和完整性/准确性内置到每个操作系统中,具体取决于操作系统、本地区域和软件包安装/更新。通常,它们不会追溯到很久以前,并且可能只包含本地区域的数据

这些表主要用于回答“当前语言环境时间是多少”,其次是“特定区域名称的当前TZ偏移量是多少”。得到更多,这是一个延伸(例如“何时发生DST”、“是否在区域XYZ中观察到DST”、历史分区时间的本地时间或TZ偏移量是多少)

因此,“UTC偏移量是多少”的答案不是一个单一的数值常量

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


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

这不是我想要的。我想在ML中创建一个XQuery模块,它将返回给定区域名称的UTC偏移量。我找不到任何内置的ML函数能够做到这一点。啊,看起来我误解了这个问题。parse dateTime似乎涵盖了其中的一部分,但不是全部。这是有效的:
xdmp:parse-dateTime([Zn],“Amsterdam”)
,但是
xdmp:parse-dateTime([Zn],“New\u-York”)
不起作用。不过它能理解大多数首字母缩略词,所以如果你能将区域转换成时区代码,你就可以非常接近了。否则,您可能需要在map:map等中硬编码表。。