我有以下格式的时间:2017 年 12 月 21 日 03:52:42:000000
我需要在 xslt 中转换为本地时区。
在我的代码中,我使用以下格式:
<xsl:param name="format" select="'h:mm:ss a'"/>
这似乎不正确,请任何人纠正我的格式。
如果您希望21 Dec 2017 03:52:42:000000
格式化为例如5:52:42
本地时间并使用 xslt 1.0,则无法直接格式化日期时间值。
一个XSLT PARAM就像是一个变量,但它的价值可以从来电者背景进行设置,如调用模板或XSLT处理器给出的,所以在你的榜样价值的$format
将是'h:mm:ss a'
,如果它不是来自调用方覆盖。所以基本上这将是你的输出,而不是格式化的时间。
当然,如果您使用具有此预定义格式字符串的扩展对象,则格式化是辅助方法的责任,而不是 xslt 的问题。
如果您想使用原生 xslt 1.0 格式化日期时间,那么这里有一些示例:请参阅 XSLT 1.0 样式表示例或此处也有用于时间分割的示例。所以时间格式化只是剪掉字符串部分。例如你的输入<xsl:variable name="InputTime" select="'21 Dec 2017 03:52:42:000000'"/>
和<xsl:value-of select="substring($InputTime, 13, 8)"/>
输出将是03:52:42
如果将其分割为小时、分钟和秒,则可以将它们修改为数字。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句