我正在从EST转换为UTC。我需要如下结果:如果传递的dateTime是Feb-09-2017 11:30:00,那么UTC返回应该是Feb-09-2017 16:30:00,无论我什么时候执行xquery。如果我使用fn:adjust dateTime-to-timezone,那么当我在夏令时之前执行xquery时,结果是Feb-09-2017 16:30:00 (增加了5个小时,这是正确的),但是如果我在夏令时之后(即在3月12日之后)运行相同的查询,那么响应将变成Feb-09-2017 15:30:00 (增加4个小时)。
发布于 2017-03-31 16:06:45
XPath/XSLT/XQuery日期/时间系统只知道数字时区偏移量,而不知道公民/地理/政治惯例。所以它能理解-05:00,但不能理解EST。要执行此转换,您需要访问外部信息。
如果你在撒克逊,有一个扩展函数saxon:in-summer-time(dateTime, civilTimeZone),它会告诉你你是否在夏令时,例如saxon:in-summer-time(current-dateTime(), 'America/New_York')返回true,让你可以调整调用adjust-dateTime()时使用的位移。
https://stackoverflow.com/questions/43118925
复制相似问题