現在、私はYYYYMMDDHHMMSS(年、月、日、時、分、秒)を表す以下の番号20170125102857を持っています。 XSLT 1.0でこの数字をちょうどDD-MM-YYYY
(日 - 月 - 年)に変換するにはどうすればよいですか?例えばXSL変換番号(20170125102857)からDD-MM-YYY
:
20170125102857は25-01-2017
なるはずそして、はい、それはXSLにしておく必要があります。
現在、私はYYYYMMDDHHMMSS(年、月、日、時、分、秒)を表す以下の番号20170125102857を持っています。 XSLT 1.0でこの数字をちょうどDD-MM-YYYY
(日 - 月 - 年)に変換するにはどうすればよいですか?例えばXSL変換番号(20170125102857)からDD-MM-YYY
:
20170125102857は25-01-2017
なるはずそして、はい、それはXSLにしておく必要があります。
あなたが入力フォーマットが変更されないことが確実な場合は、上記の式の結果が日付形式DD-MM-YYYY
を生成する
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:variable name="var.myDateToConvert_" select="'20170125102857'"/>
<xsl:variable name="var.year_" select="substring($var.myDateToConvert_,1,4)"/>
<xsl:variable name="var.month_" select="substring($var.myDateToConvert_,5,2)"/>
<xsl:variable name="var.day_" select="substring($var.myDateToConvert_,7,2)"/>
<xsl:template match="/">
<xsl:value-of select="concat($var.day_,'-',$var.month_,'-',$var.year_)"/>
</xsl:template>
</xsl:stylesheet>
以下のように、あなたは単に、そのためsubstring()
機能を使用することができます。
これは、XSLT 1.0で必要な作業を行う簡単で簡単な方法です。
XSLT文字列は1つのインデックスが付けられています。 'substring()'関数の3番目の引数は、サブ文字列の長さです。だから今年の表現は次のようになります: '
残念、私の悪い、私は見落としましたそれ。私は自分の投稿を編集します。ありがとう! –
0を1に変更してください。 @ Madeyedexterのように。 2017(最初の4つの数字)を選択するには、1(1,4)から始める必要があります。 – Morganis
XSLT-1.0には、これを行うための組み込み関数はありません。 XSLTプロセッサに拡張機能がありますか? – Madeyedexter
私は拡張機能を持っていません(私が知っている)。そして、私は既にビルドイン機能がないことを恐れていました。 – Morganis
入力タイムスタンプの長さが常に固定であれば、これを達成するために 'substring()'関数をたくさん使う必要があるようです。 – Madeyedexter