0

たとえば、時間 (ここではカスタマイズされた変数) が 1345:59 ~ 1400:00 の間であるかどうかをテストしたいのですが、これが正しい方法であるかどうかはわかりません。

テスト条件に範囲を適用する方法はありますか。現在の時間がこの範囲内にある場合は true です。そうでない場合はそうではありません。

XSLT 1.0 に何か機能があれば教えてください。

<xsl:when test="(($curHour = '13' and $curMin &gt;= '45' and $curMin &lt;= '59' ) or ($curHour = '14' and $curMin &gt;= '00' and $curMin &lt;= '30' ))">

ありがとう!

4

2 に答える 2

0

与えられたものがすでに時間と分に分かれている場合は、次のことができます。

<xsl:variable name="minutes" select="60 * $curHour + $curMin" />
<xsl:choose>
    <xsl:when test="826 &lt;= $minutes and $minutes &lt; 840">
...

これは、2 つの変数によって指定された時間が 13:46 (含む) から 14:00 (含まない) の間にある場合に true を返します。


編集:

そうでない場合は、次のように $curTime パラメータから直接 $minutes 変数を計算することで、プロセスを合理化できます。

<xsl:variable name="minutes" select="60 * substring($curTime,12,2) + substring($curTime,15,2)" />

(コメントで示した内容に基づいて)。

于 2015-02-19T15:23:35.380 に答える