XSLT将SimpleDateTime转换为GMT-00:00时区

时间:2012-02-03 09:53:08

标签: xslt timezone format

我需要帮助XSLT重新格式化时间,没有太多运气。

<names> 
    <name>
        <foo id='x_date'>
             <value> 01/23/2011 13:20:00 PDT</value> 
        </foo> 
    </name>
</names>

如何将日期从' 01/23/2011 01:23:00 PDT '更改为' 01/23/2011 09:24:00 GMT + 00:00 '通过XSLT?

请帮帮忙,这让我很伤心: - )

1 个答案:

答案 0 :(得分:1)

例如,如果您打开使用Java的Xalan扩展来使用非XSLT解决方案,您可以选择日期时间函数,如下所示:

http://exslt.org/date/index.html

的内容
<xsl:value-of select="
  date:format-date(
    date:parse-date(/names/name/foo/value, $inPattern),
    $outPattern)" />

在您的特定情况下,您可能必须在自定义命名空间中实现自己的日期格式化程序。这很简单:

  • Xalan添加到您的类路径
  • 创建自定义日期格式化程序:
 
    package org.example;
    public class MyExtension {
      public static String myFormat(String date) {
        // Do the formatting
      }
    }
  • 在XSLT样式表中使用上述格式化程序:
    <xsl:stylesheet xmlns:myextension="http://org.example.MyExtension">
      ..
      <xsl:value-of select="myextension:myFormat(/names/name/foo/value)"/>
      ..
    </xsl:stylesheet>

可在此处找到更多文档:

http://exslt.org