我想知道是否有人可以提供帮助。我正在努力转换下面的日期。有没有办法将日期从mm / dd / yy转换为yyyy-mm-dd并在xslt中添加hh:mm:ss?
这是我当前输入的XML。我正在尝试转换“ DateofService”。服务日期将始终为mm / dd / yy,而没有hh:mm:ss。
<?xml version="1.0"?>
-<BCBSFMsg>
<BCBSFMsgHeader/>
-<BCBSFBody>
-<EIPMsg ImageType="PAPER" MsgType="DocumentNotify">
<ImageId>12344</ImageId>
<FileExtension>TIF</FileExtension>
<DateofService>11/27/18</DateofService>
<EIPMsg>
</BCBSFMsg>
当前,这是我在xslt中的查询:
<xsl:variable name="Date">
<xsl:variable name="sqlXref">
SELECT CONVERT(CHAR(19),ai.ADDLINFO_INDEX_15, 101) + '00:00:00' AS 'ServiceFromDate' FROM ADDITIONAL_INFORMATION ai with (nolock) INNER JOIN IMAGES_DETAIL id with (nolock) WHERE id.IMAGE_ID = '<xsl:value-of select="$IMAGE_ID"/>'
</xsl:variable>
<xsl:value-of select="env:ExecuteScalar($provider, $connStr, $sqlXref)"/>
</xsl:variable>
我正在元素中传递变量$Date
<xsl:element name ="DateofService">
<xsl:value-of select="$Date"/>
</xsl:element>
请告知。
谢谢。
答案 0 :(得分:0)
如果您的输入XML包含:
<DateofService>11/27/18</DateofService>
然后是模板:
<xsl:template match="DateofService">
<xsl:copy>
<xsl:text>20</xsl:text>
<xsl:value-of select="substring-after(substring-after(., '/'), '/')"/>
<xsl:value-of select="format-number(substring-before(., '/'), '-00')"/>
<xsl:value-of select="format-number(substring-before(substring-after(., '/'), '/'), '-00')"/>
<xsl:text> 00:00:00</xsl:text>
</xsl:copy>
</xsl:template>
将返回:
<DateofService>2018-11-27 00:00:00</DateofService>
请注意,这是假设您的所有约会都在21世纪。