【问题标题】:Display current date in XML element在 XML 元素中显示当前日期
【发布时间】:2012-02-07 23:35:25
【问题描述】:

我正在使用 XSL 将一种 XML 转换为另一种。我的问题是,在一个元素中,我必须使用以下格式显示当前日期:YYYYMMDD。

我尝试使用这样的变量:

<xsl:variable name="dateNow" select="current-dateTime()"/>
<xsl:variable name="dateNow2" select="current-date()"/>

然后尝试格式化,但没有成功。

<FRUEHESTER_LIEFERTERMIN><xsl:value-of select="format-dateTime($dateNow, '[Y0001][M01][D01]')"/></FRUEHESTER_LIEFERTERMIN>

【问题讨论】:

    标签: xslt format


    【解决方案1】:

    到底发生了什么(“没有成功”是什么意思)。您使用的是什么 XSLT 处理器?

    这是您尝试做的最小测试用例(输入 XML 文档无关紧要)

        <?xml version="1.0" encoding="UTF-8"?>
    &lt;xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"     xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions"  exclude-result-prefixes="xs fn"&gt;
    
        <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    
        <xsl:variable name="dateNow" select="current-dateTime()"/>
        <xsl:variable name="dateNow2" select="current-date()"/>
    
        <xsl:template match="/">
            <FL><xsl:value-of select="format-dateTime($dateNow, '[Y0001][M01][D01]')"/></FL>
        </xsl:template>
    
    </xsl:stylesheet>
    

    这就是它产生的结果——如果你尝试这个测试用例,你会得到同样的结果吗?

    <?xml version="1.0" encoding="UTF-8"?>
    <FL>20120111</FL>
    

    【讨论】:

    • 嗨默里。我试过你的例子,但我得到了 2012111,我开始认为这可能是由于我用来测试 xsls 的程序是 Altova XMLSpy2006。该过程是在 Sonic 中开发的。我将测试它运行该过程并让你知道。感谢您的帮助!
    • Gerado -- 我使用 ALTOVAXML2012 和 Saxon 9 HE 进行了尝试 -- 两者都产生了相同的正确结果。保重
    • 我在我的 Sonic 过程中进行了测试,效果很好! XMLSpy 正在从日期中删除 0,该死的工具。再次感谢默里。
    【解决方案2】:

    如果您想以以下格式显示日期,星期三,10 月 27 日

    在 XML 中使用以下代码

                     <TextClock
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:format12Hour="EE, dd-MMM"
                      android:textColor="@color/gray_100"
                      android:textSize="15sp"
                      android:layout_gravity="center"
                      android:padding="5dp"
                      android:textStyle="bold" />
    

    如果你想显示像 09:08 这样的时间

    在 XML 中使用以下代码

                      <TextClock
                        android:id="@+id/time"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:format12Hour="hh:mm"
                        android:textColor="@color/gray_100"
                        android:textSize="60sp" />
    

    如果您想显示上午和下午的时间,请在 XML 中使用以下代码

                     <TextClock
                        android:id="@+id/time"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:format24Hour="HH:mm"
                        android:textColor="@color/gray_100"
                        android:textSize="60sp" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-22
      • 2015-12-08
      相关资源
      最近更新 更多