在 XSLT 中格式化日期时间

Format datetime in XSLT

我有一个从数据库检索的时间戳字段 (MSG_TIMESTAMP) 需要将格式从 'YYYYMMDDHH24MISSFF3' 转换为 'yyyyMMddHHmm'。我可以按照以下在 XSLT 文件中使用格式日期时间功能进行格式化吗?

来自

<xsl:value-of select="translate(//results/result/function[@name='ADD-TO-RESPONSE']/resultItem/property[key='MSG_TIMESTAMP']/value, '[]', '')"/>

<xsl:value-of select="translate(//results/result/function[@name='ADD-TO-RESPONSE']/resultItem/property[key=format-date('MSG_TIMESTAMP']/value, '[Y0001]/[M01]/[D01]/[H01]/[m01]', '')"/>

如果您只想要一个值的前 12 个字符(看起来您确实需要),您可以使用 substring() 来实现。不需要日期格式化函数:

<xsl:value-of select="substring(
   translate(//results/result/function[@name='ADD-TO-RESPONSE']/resultItem/property[key='MSG_TIMESTAMP']/value, '[]', ''),
   1, 12)"/>