exslt date を使用して明日の日付を取得したい。
date:date()
今日の日付 ('2014-01-23') を返し、1 日 ('P1D') を追加する場合、明日 ('2014-01-24') になると予想します。しかし、代わりにの結果
<xsl:value-of select="date:add(date:date(), 'P1D')"/>
「2014-01-23T23:00:00Z」です。
調査に時間がかかりましたが、最終的に問題を解決しました。
私の以前の実装の問題は、timezoneが原因でした。の正確な戻り値date:date()
は '2014-01-23+01:00' (タイムゾーン付きの日付; 私にとっては +01:00) です。
期間を追加するdate:add(string, string)
と、問題があるようです。したがって、正しい結果を得るために、今日の日付からタイムゾーンを切り取っただけです。結果として
<xsl:value-of select="date:add(substring(date:date(), 1, 10), 'P1D')"/>
予想どおり、明日の日付 ('2014-01-24') です。