Movable Type 備忘録
GetDate プラグイン
- Prev Page: JCalendarColor プラグイン
- Next Page: RandomEntries プラグイン
こんばんわ^^
日付にまつわるプラグインを作ってみました。
追加される機能は以下の通りです。
- 今日の日付を取得
- 任意の日付を作成
- 任意の日付からX日後(前)の日付を作成
- 任意の日付の存在チェック
- 指定日を過ぎたかどうかチェック
ダウンロード
使い方
使い方はカンタンです。
各機能別に説明していきます。
MTToday ファンクションタグ
今日の日付を取得するファンクションタグです。
YYYY-MM-DD のフォーマットで表示されます。デフォルトの日付に関するモディファイアと併用することができます。<div><mt:Today></div>
MTMakeTime ファンクションタグ
任意の日付を作成することができます。YYYY-MM-DD のフォーマットで表示されます。デフォルトの日付に関するモディファイアと併用することができます。
以下のモディファイアを選択してください。
- date モディファイア
作成したい日付( YYYY-MM-DD )を指定します。 - year モディファイア
作成したい日付の年数を指定します。month、day モディファイアといっしょに使います。省略した場合は、現在の年が利用されます。 - month モディファイア
作成したい日付の月数を指定します。year、day モディファイアといっしょに使います。省略した場合は、現在の月が利用されます。 - day
作成したい日付の日数を指定します。year、month モディファイアといっしょに使います。省略した場合は、現在の日が利用されます。 - pass
任意の日付からX日後(+X)、またはX日前(-X)の日にちを指定して作成します。
date モディファイアで指定日付作成
<div><mt:MakeTime date="2000-01-01"></div>
year, month, day モディファイアで指定日付作成
<div><mt:MakeTime year="9" month="3"></div>
pass モディファイアで 20 日後の日付作成
<div><mt:MakeTime date="2000-01-01" pass="+20"></div>
pass モディファイアで 20 日前の日付作成
<div><mt:MakeTime date="2000-01-01" pass="-20"></div>
- date モディファイア
MTCheckDate ブロックタグ
指定した日付が存在するか否かをチェックするブロックタグです。 以下の date モディファイアでチェックしたい日付の存在をチェックするか、year、month、day モディファイアの組み合わせで指定した日付が存在するかチェックすることができます。
- date モディファイア
指定した日付( YYYY-MM-DD )が存在するかどうかをチェックします。 - year モディファイア
チェックしたい年( YYYY )を指定します。month、day モディファイアと組み合わせて使用します。このモディファイアを省略した場合には現在の年が利用されます。 - month モディファイア
チェックしたい月( MM )を指定します。year、day モディファイアと組み合わせて使用します。このモディファイアを省略した場合には現在の月が利用されます。 - day
チェックしたい日( DD )を指定します。year、month モディファイアと組み合わせて使用します。指定しなかった場合には現在の日が利用されます。
<div><mt:setvar name="date" value="2010-02-28"><mt:CheckDate date="$date">ok<mt:Else>ng</mt:CheckDate></div>
- date モディファイア
MTIsLater ブロックタグ
指定日( YYYY-MM-DD )を過ぎたかどうかチェックするブロックタグです。 以下の date モディファイアを基準に、year、month、day モディファイアで指定した数値( 日数 )内かどうかをチェックすることができます。
- date モディファイア
基準となる日付( YYYY-MM-DD )を指定します。year、month、day モディファイアと併用します。
指定しなかった場合には今日の日付を基準とします( 常に TRUE となる )。 - year モディファイア
チェックしたい年( YYYY )を指定します。
date モディファイアで指定した日付を基準に、このモディファイアで指定した年数内かどうかチェックできます。 - month モディファイア
チェックしたい月( MM )を指定します。
date モディファイアで指定した日付を基準に、このモディファイアで指定した月数内かどうかチェックできます。 - day
チェックしたい日( DD )を指定します。
date モディファイアで指定した日付を基準に、このモディファイアで指定した日数内かどうかチェックできます。
<div><mt:IsLater date="2009-04-11" day="3">2009/04/11 から 3 日以内なら表示</mt:IsLater></div>
- date モディファイア
以上です。
よかったら使ってみてください。
Trackback Pings(1)
- from
SOHOカアチャン通信
このサイトの人気No.1は「MT4 カスタムフィールドで日時を取得」なんですが、...


お久しぶりです。
遅くなりましたが、リンクを貼らせていただいたご報告であります。
遠いうちにLinksページをちゃんとつくろうとは思いますが、今のペースでは相当遠い話になりそうです。
それと質問があるのですが、ここにくるまでに「Movabletype備忘録」とぐぐったところ、検索トップの下になんとメニューが表示されるではあーりませんか。
私のHPもそのように設定したいと思うのですが、そんなことできるのでしょうか。
毎回見に来るたびに仰天の機能で驚くばかりです。
私も人に聞いてばかりではなく時間を見ながらもっとしっかりと勉強しないとと思うばかりです。
>>1 ビリー・トランクス さん
こんにちわ^^
> 私のHPもそのように設定したいと思うのですが、そんなことできるのでしょうか。
トップ下のメニューって、「HOME」とか「BROGROLL」ってあるところのメニューのことですよね
!?
できる、できないで言ったらできると思います。
普通に CSS でデザインしてるだけですので
ただし、ビリー・トランクス さんとこの CSS などを把握してないし、ウチとまったく同じというわけにはいきませんけどね。
今ビリー・トランクス さんのサイト見たら、作業中なのかメニューが崩れてました
あのー、使い道が分からないのですが・・・
/mt/mt.cgiで変更できるんですが・・・。それ以外に何が必要なんですか?
よく分からなくて済みません。
>>3 カメリア さん
こんにちわ^^
元々は訪問者さんから相談された内容から作ったプラグインなんです。
なので、すべての人とって有用かというとそうでもないかもしれませんね
一応各タグの説明をもう少し詳しく書いてみました。
遅くなりました。
何故かコメントできませんでした。
トップ下のメニューとは、自分のサイトのではなく、検索結果の1位に表示されたものです。
Movabletype備忘録
サイト説明・・・・・・・・・・・・・・・・・・・・・・・・・・・・
サイト説明・・・・・・・・・・・・・・・・・・・・・・・・・・・・
メニュー メニュー
メニュー メニュー
メニュー メニュー
こんな感じです。
これは狙って出来るものではないのでしょうか。よろしくお願いします。
>>5 ビリー・トランクス さん
こんばんわ^^
すいませんが、できればメールフォームからご連絡頂けますでしょうか。
ビリー・トランクス さんがご質問されてることはまったく記事とは関係ないので
いつも参考にさせていただいています。
mt:Today format="%m"
として月だけを2桁で取得したいのですが、
実際には「2009-09-16 14:26:02」となっていしまいました。
どこか問題があるのでしょうか?
便利なプラグインをありがとうございます。
早速、MTIsLater ブロックタグを使用させてもらっていますが、一点ご質問させてください。
date モディファイアに入力した日付が"2009-**-**"の場合は正常に判定されて、"2010-**-**"の場合には判定されずそのまま表示されてしまったのですが、どのような原因が考えられますでしょうか?
また、私も「>>7 Hiro さん」と同様の問題が発生してしまいした。この点についてもご教授いただけますと幸いです。
ちなみに、動作環境はMT5.01となります。
よろしくお願いいたします。
>>8 ネム さん
こんばんわ^^
以下の変更を入れたプラグインを UP( ver1.01 )しましたので、改めて DL してお使い頂けたらと思います。また、MTMakeTime でも format は利用可能です。
たとえば、2010-02-28 は今日( 2010-01-31 )より未来なので NG となり、2009-02-28 は過去なので OK となります
以上です。
>>9 bzbell さん
素早いご回答・ご対応ありがとうございました!
早速ダウンロードさせていただきました。
まだ MTToday ファンクションタグの確認しかできていませんが、出力が「2010年12月2-日 02: 1 」となってしまいました(今日の16:00頃です)
私の方に問題があるかもしれませんので引き続き確認させていただきますが、もし何かお分かりになりましたらお知らせいただけますと助かります;;
度々すみませんが、よろしくお願いします。
>>10 ネム さん
こんばんわ^^
すいません。わたしのミスでした。
ごめんなさい。
format モディファイアに対応する際に MT の CORE に渡すパラメータにミスがありました
動作確認したバージョン( 1.02 )を UP しましたのでご確認頂けたらと思います。
今後ともどうぞよしなに