我需要计算XSLT中时区的时间偏移量,它可以完成TZ_Offset函数在Oracle中的作用。
例如,在Oracle中
<template>
<div class="hello">
<h1>{{ msg }}</h1>
</div>
</template>
<script>
export default {
name: 'hello',
data () {
return {
msg: 'Welcome to Your Vue.js App',
message: 'hello!'
}
},
created () {
console.log('oh crap')
this.message = 'bye!'
}
}
</script>
xslt中是否有可以执行相同操作的功能?
答案 0 :(得分:0)
没有标准的XSLT函数可以直接执行此操作,但您可以在XPath 3.0 / 3.1中将format-dateTime用于此目的。这就是规范所说的:
如果$ place参数以IANA时区的形式提供 实现识别的名称,然后是日期或时间 格式化被调整为适用于该时区的时区偏移量 时区。例如,如果xs:dateTime值为2010-02-15T12:00:00Z 格式化为$ place参数设置为America / New_York,然后 输出将如同值2010-02-15T07:00:00-05:00一样 提供。此调整将夏令时考虑在内 在可能的情况;如果有问题的日期在夏令时下降 在纽约的时间,然后调整到时区偏移-PT4H而不是 比-PT5H。只能使用夏令时进行调整 其中值包括日期,日期在其中 时区数据库涵盖的范围。
因此,format-dateTime(current-dateTime(), '[Z00:00]', (), (), 'America/New_York')
应该返回“-05:00”,假设您在调用该功能时处于夏令时。这应该适用于Saxon,但我不了解其他实现。
我没有遇到“美国/东方”作为时区名称:Olsen / IANA时区数据库通常使用大陆/城市格式来避免政治争议。它取决于底层数据库可能有效,也可能无效。