如何在altova s​​tylevision中将dd / mm / yy格式化为dd-mon-yyyy

时间:2014-07-08 15:51:09

标签: xpath xslt-2.0 altova

我是Altova Stylevision的新手。我需要将日期格式从dd/mm/yy格式化为dd/Mon/yyyy

我已尝试过Altova手册中建议的选项,但它似乎无法识别格式。

1 个答案:

答案 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]')" />

符合SaxonExselt等处理器的输出(未尝试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,可以在图片字符串中使用。