0

尝试将日期转换为特定格式但出现错误:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.openapplications.org/oagis/9"
xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xsl:variable name="origDate" select="row[@num='6']/cell[@num='2']"/>
<PromisedDeliveryDateTime><xsl:value-of select="format-date(xs:date($origDate), '[Y] [M] [D]')" /></PromisedDeliveryDateTime>

但我得到了错误:

未能转换 XQMessage 部分,索引 = 0(无效日期“30.11.2011”
(非数字组件)

4

1 回答 1

3

xs:date() 构造函数需要一个 ISO 日期格式的字符串:2011-11-30。要以其他格式处理日期,您首先需要将它们转换为 ISO 格式,例如,您可以这样做

string-join(reverse(tokenize($in, '.')), '-')
于 2012-09-10T08:04:14.717 回答