将GMT转换为XSL 1.0中的本地时间

时间:2018-01-17 09:09:35

标签: xml xslt xml-parsing xslt-1.0 flexslider

我有时间采用以下格式: 2017年12月21日03:52:42:000000

我需要在xslt中转换为本地时区。

在我的代码中,我使用以下格式:

library(dplyr)
DF %>%
   group_by(Year_Month = format(date, "%y-%m")) %>%
   summarise_at(vars(-date), funs(mean(head(sort(., decreasing = TRUE), 2))))

这似乎不正确,请任何人更正我的格式。

1 个答案:

答案 0 :(得分:0)

如果您希望21 Dec 2017 03:52:42:000000格式在本地时间使用5:52:42之类的内容并使用xslt 1.0,则无法直接格式化日期时间值。

xslt param就像一个变量,但它的值可以从调用者上下文设置,例如调用模板或由xslt处理器给出,所以在你的示例中,$format的值将是{{1如果它没有从调用者覆盖。所以基本上这将是你的输出,而不是格式化的时间。

当然,如果您使用具有此预定义格式字符串的扩展对象,则格式化是帮助方法的责任,而不是xslt的问题。

如果您想使用原生xslt 1.0格式化日期时间,那么这里有一些示例:see XSLT 1.0 stylesheet sample或者此处还有sample for time splitting。所以时间格式只是剪掉了字符串部分。 例如您的输入'h:mm:ss a'<xsl:variable name="InputTime" select="'21 Dec 2017 03:52:42:000000'"/> 输出将是 <xsl:value-of select="substring($InputTime, 13, 8)"/>

如果您将其分割为数小时,分钟和秒,则可以将其修改为数字。