関数索引
scheduledEndDate() 関数は、ページの公開終了指定時刻を返します。
返される値は 1970/01/01 00:00:00 からの経過時間を msec (ミリ秒) 単位で表した整数値です。1970/01/01 00:00:00 より前の時刻は負の数で表されます。
公開開始指定時刻を取得するためには scheduledStartDate() 関数を使用してください。
scheduledEndDate()関数は引数「要素」に指定した要素のページの(現在のリビジョンの)公開終了指定時刻を返します。
引数「要素」を省略した場合は現在のページの現在のリビジョンの公開終了指定時刻が返されます。
公開終了指定時刻が指定されていないページに対して scheduledEndDate() 関数を呼び出すと null が返されます。
ページに指定されている公開終了指定時刻を yyyy/mm/dd 形式で表示します。
<body>
......
<wr-if condition="isNotNull(scheduledEndDate())">
%formatDate(scheduledEndDate(), "yyyy/MM/dd")%
</wr-if>
.....
</body>
取得した公開終了定時刻を yyyy/MM/dd 形式に変換して表示するために formatDate() 関数を使用しています。
目次に掲載されている各ページの公開終了指定時刻を yyyy/mm/dd hh:mm 形式で表示します。もし、そのページに公開終了指定時刻が指定されていない場合には、時刻の代わりに「永久」と表示します。
<wr-for list="目次" variable="x">
<wr-if condition="isNotNull(scheduledEndDate(x))">
<wr-then>
%pageTitle(x)% : %formatDate(scheduledEndDate(x), "yyyy/MM/dd hh:mm")%<br/>
</wr-then>
<wr-else>
%pageTitle(x)% : 永久<br/>
</wr-else>
</wr-if>
</wr-for>
公開終了指定時刻が指定されているかどうかは isNotNull() 関数で調べます。 取得した公開終了指定時刻を yyyy/MM/dd hh:mm 形式に変換して表示するために formatDate() 関数を使用しています。
ページの公開開始指定時刻と公開終了指定時刻を使って、そのページの「足掛け」の公開期間日数を計算して表示します。
<wr-if condition="isNotNull(scheduledStartDate()) && isNotNull(scheduledEndDate())">
このページの公開期間は%divide(scheduledEndDate()-scheduledStartDate(), (1000 * 60 * 60 * 24), 0, "CEILING")%日間です
</wr-if>
divide() 関数でミリ秒単位の公開期間を日数に変換します。この時、足掛け日数になるように "CEILING" を指定することで割り算の結果を切り上げています。