我是Altova Stylevision的新手。我需要将日期格式从dd/mm/yy
格式化为dd/Mon/yyyy
。
我已尝试过Altova手册中建议的选项,但它似乎无法识别格式。
答案 0 :(得分:1)
这个问题差不多有三个星期了,所以也许你找到了答案,例如通过迈克尔凯的XSLT 2.0 and XPath 2.0 Programmer's Reference第781页查看。或许somewhere else on the web。
要在XSLT 2.0中实现您想要的功能,我们首先需要将类似日期的字符串转换为国际日期时间表示法。幸运的是,我们只需关心日期部分,它应采用YYYY-MM-DD
形式。
之后,我们“只需”使用正确的图片字符串调用format-date
:
<!-- first, convert your date into int'l date-notation with a regex -->
<xsl:variable
name="date"
select="replace('14/09/2014', '(\d+)/(\d+)/(\d+)', '$3-$2-$1')" />
<!-- then, use a properly formatted picture string to get the abbrev. month -->
<xsl:value-of
select="format-date(xs:date($date), '[D01]/[MNn,3-3]/[Y]')" />
符合Saxon或Exselt等处理器的输出(未尝试Altova)是:14/Sep/2014
。
图片字符串的工作原理如下(我引用的同一本书):
[xxxx]
是变量标记[D01]
将日期部分格式化为两位数的日期(如果您不想要前导零,请忽略零)[MNn,3-3]
将M
的月份格式化为Nn
的案例字,宽度为最小3,最多3格为3-3
。[Y]
将默认格式的年份格式化为四位数年份。如果您需要月份的全名,请删除width-specifier。如果您需要其他输出check out the table in the XPath 3.0 specification,可以在图片字符串中使用。