Saxon XSLT 2.0 和 RFC 822 日期格式

Posted

技术标签:

【中文标题】Saxon XSLT 2.0 和 RFC 822 日期格式【英文标题】:Saxon XSLT 2.0 and RFC 822 date format 【发布时间】:2011-04-22 14:02:38 【问题描述】:

将 xs:dateTime 格式化为 RFC 822 的正确方法是什么?

【问题讨论】:

【参考方案1】:

你需要fn:format-dateTime

我认为应该是:

format-dateTime(current-dateTime(),
                '[FNn,*-3], [D01] [MNn,*-3] [Y0001] [H01]:[m01]:[s01] [Z]',
                'en',
                '',
                'US')

现在,对我来说,输出:

Thu, 07 Oct 2010 21:10:03 -03:00

【讨论】:

【参考方案2】:

是的。我添加了“AD”作为日历,并使用 SaxonHE 9.3.0.5 清理了输出

fn:format-dateTime(current-dateTime(),
            '[FNn,*-3], [D01] [MNn,*-3] [Y0001] [H01]:[m01]:[s01] [Z]',
            'en',
            'AD',
            'US')

【讨论】:

【参考方案3】:

在 XSL 中:

<xsl:value-of select="concat(ms:format-date(InputDate, 'ddd, dd MMM yyyy'), ' ', ms:format-time(InputDate, 'HH:mm:ss'), ' EST')"/>

从数据库中检索日期的时间为:

 SELECT
      Table.DateField AS InputDate
    FROM Table 

或尝试: 选择 CONVERT(NVARCHAR(10), Table.DateField, 101) 作为 InputDate 从表

【讨论】:

以上是关于Saxon XSLT 2.0 和 RFC 822 日期格式的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 XSLT 2.0 获取当前日期时间的 RFC1123 日期格式

哪些浏览器支持 XSLT 2.0?

XSLT 2.0 产生错误:“上下文项未定义”

支持 XPath 2.0 的 Java XSLT 处理器

将 XSLT 2.0 与 PHP 结合使用的最佳方式是啥?

通过 linux shell 进行 XSLT 2.0 转换