Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java XSLT-从区域设置获取时区偏移量_Java_Xml_Xslt 1.0_Xslt 2.0_Saxon - Fatal编程技术网

Java XSLT-从区域设置获取时区偏移量

Java XSLT-从区域设置获取时区偏移量,java,xml,xslt-1.0,xslt-2.0,saxon,Java,Xml,Xslt 1.0,Xslt 2.0,Saxon,在XSLT中是否可以检索特定区域设置的时区偏移量?有一个名为summer time的函数,它接受日期时间和区域设置标识符。它返回给定日期是否属于该国家/地区的夏令时 我需要计算特定区域设置的偏移时间。例如,我得到智利的当地时间,我需要将其转换为英国的当地时间。我可以在夏季使用该函数来计算日光调节。但是,我在哪里可以得到智利的实际抵消时间 注意:函数adjust time to timezone没有帮助,因为它要求将偏移时间传递到函数中(如2013-05-10T08:10:30-05:00)。我手

在XSLT中是否可以检索特定区域设置的时区偏移量?有一个名为summer time的函数,它接受日期时间和区域设置标识符。它返回给定日期是否属于该国家/地区的夏令时

我需要计算特定区域设置的偏移时间。例如,我得到智利的当地时间,我需要将其转换为英国的当地时间。我可以在夏季使用该函数来计算日光调节。但是,我在哪里可以得到智利的实际抵消时间


注意:函数adjust time to timezone没有帮助,因为它要求将偏移时间传递到函数中(如2013-05-10T08:10:30-05:00)。我手头没有偏移时间(-05:00)信息。

有一个萨克森扩展函数

撒克逊:适应公民时代

这看起来似乎可以达到目的

(文档中给出函数签名的标题是错误的。)

比如说

萨克森:调整到民用时间(xs:dateTime('2013-12-06T12:00:00Z'),'America/Santiago')

返回


2013-12-06T09:00:00-03:00

您可以加载一个从区域设置映射到偏移量的值表。首先谢谢你,迈克。“调整到民用时间”功能要求输入UTC格式的时间。在我的例子中,输入时间是智利的当地时间,这就是问题所在。是的,但是应该可以使用adjust to civil time来获取反向转换所需的信息。如果您采用UTC日期/时间并应用adjust to civil time,则结果中的getTimezone()将为您提供智利的时区位移,然后您可以使用adjust dateTime to timezone(可能在否定它之后?)将此位移应用于本地智利时间,以将其转换为UTC。