2012年10月31日水曜日

エントリ投稿日時より一定期間、「NEW」を表示する

エントリ投稿日時の一定期間後の日付データを作成する必要がある。

日付の比較について
http://www.45shiki.net/blog/2010/06/b000957.htm
日付の桁数がきっちりあっていないと比較できないようだ。


プラグインの日時データ作成コマンドを利用させていただく。
GetDate-1.06.zip http://sourceforge.jp/projects/nekotama/releases/38720

今日の日付を2012-10-20の形式で取得
<$mt:Today format="%Y-%m-%d" setvar="kyoudate"$>


今日の日時データを12-10-20の形式で作成
<$mt:MakeTime date="$kyoudate" format="%y-%m-%d" setvar="kyou"$>




エントリ投稿日時を2012-10-20の形式で取得
<$MTEntryDate format="%Y-%m-%d" setvar="entrydate"$>

エントリ投稿日時+一定期間の日時データを12-10-20の形式で作成
(ここでは30日後)
<$mt:MakeTime date="$entrydate" pass="+30" format="%y-%m-%d" setvar="aftermonth"$>



これで桁数の合った日時データが作成できているので、比較ができる。
<mt:If name="aftermonth" gt="$kyou">
    (一定期間内の動作 たとえばNEWの表示)
</mt:If>


なぜこのような2度手間をしているかというと、2桁と1桁の月や日の比較ができないから。

0 件のコメント:

コメントを投稿