1

xsltで昨日の日付を見つけるにはどうすればよいですか? 今日の日付を取得してから 1 日減算することを考えていましたが、カレンダーを壊さずにそれを行う方法がわかりません。

4

4 に答える 4

2

XSLT 2.0メソッドを使用current-dateTime()して現在の日付を取得できます。ただし、XSLT 1.0XSLT 1.0 は現在の日付/時刻を取得するための標準を提供していないため、 を使用している場合は拡張関数を使用する必要があります。次のスクリプトを使用できますXSLT 1.0

<ms:script language="javascript" implements-prefix="user">
    function datediff(date1, date2)
    {
        return Math.round(((new Date(date2)) - (new Date(date1))/1000/60);
    }
</ms:script>
于 2012-09-06T17:21:28.257 に答える
1

別のオプションは、日付関数にEXSLTの拡張機能を使用することです。

date:add(date:date(), '-P1D')

date:date()現在の日付を取得し、それにdate:add()期間を追加します。「-P1D」は、-1 日の期間を表します。

これらの拡張関数は XSLT 標準にはありませんが、使用している XSLT プロセッサによっては実装が見つかることに注意してください。EXSLT 関数は、 のようなプロセッサ固有のものよりも移植性が高いはずです<ms:*>

于 2012-09-06T19:01:01.367 に答える
1

おそらく最善の策は、ネイティブ プログラミング言語で拡張機能を作成し、ネイティブ言語の datemath ライブラリを使用することです。その基本について詳しくは、http://www.ibm.com/developerworks/library/x-callbk/index.htmlを参照してください。

この例では Java を使用していますが、私はこれを .NET で多く扱ってきました。

于 2012-09-06T17:22:36.793 に答える