日時の期間を表示するプラグイン作ってみた

%EthnaIRCチャンネルで以下のような話をしていたので、さくっと作ってみました。

15:35:04 sotarok > http://gyazo.com/65a04e7f3d77dae932f217ef80df9ddb.png
15:35:10 sotarok > http://gyazo.com/aa79e4a4f27275487f4a9616278bbf53.png
15:35:13 sotarok > どっちがいいですか?
15:35:29 sotarok > 4段になるとうっとおしいかなーとおもって・・・・
15:35:46 sotarok > あ、じゃない。5段になると。
15:35:58 maru_cc > 4段の方がいいと思う
15:36:03 maru_cc > 〜 使った方
15:36:15 sotarok > ついでに秒はいらなそうだから切ったです
15:36:31 maru_cc > 2008-06-16 16:00 〜 17:00 とか
15:36:31 riaf > Goooooooooooooooood
15:36:46 sotarok > あー日付またぐことないからそのほうが良いのかな?
15:36:55 maru_cc > 日付をまたいでいたら 2008-06-16 16:00 〜 06-17 17:00 とか
15:37:06 maru_cc > 必要ないかw
15:37:07 sotarok > Smarty上でしかいじってないから面倒だなw
15:37:42 maru_cc > Smarty上で ifだ
15:37:47 sotarok > ぶふうう
15:37:54 sotarok > マンドクセーw
15:38:07 riaf > smarty_plugin
15:38:47 sotarok > む。月日だけの比較ってリアルにめんどいっぽいなw
15:39:03 sotarok > まーわかった。
15:39:29 sotarok > http://gyazo.com/0d4995f83b10e7c4c99beac072535bde.png
15:39:37 sotarok > 間をとっておきました。日付はずっと表示
15:39:43 sotarok > 年越しイベントはやらない方向で。
15:40:48 sotarok > 募集開始てt
15:40:56 sotarok > 多分段階的に変えて生きますよね
15:41:00 sotarok > いきますよね
15:41:18 sotarok > 今回みたいに、3回に分かれる場合とか。
15:42:08 sotarok > 「次回の応募開始日時」とかにすれば良いかな。
15:43:16 maru_cc > http://maru.cc/tmp/function.datespan.phps つくってみた
15:43:27 maru_cc > あー うごかんなこれ
15:43:29 sotarok > はやっ!
15:43:30 sotarok > え
15:43:31 sotarok > w
15:43:50 maru_cc > strtotime入れてみた
15:44:05 sotarok > チェックインしていただければ
15:44:07 sotarok > すぐ使いますw
15:44:32 riaf > 仕事が速い
15:44:55 maru_cc > いま仕事中なのよー もってっておくれw
15:45:06 maru_cc > はっ 仕事しないと
15:45:15 sotarok > w
15:45:53 maru_cc > type発見 修正。
15:46:19 maru_cc > retrunしてなかったw
15:46:29 sotarok > w
15:46:33 sotarok > もうOKですか?
15:46:34 riaf > 致命的ww
15:46:39 maru_cc > おkです たぶんw
15:46:42 sotarok > おす
15:47:54 sotarok > ぶw
15:48:05 maru_cc > 動かない?w
15:48:26 sotarok > あ、いや
15:48:27 sotarok > いけた!

<?php
function smarty_function_datespan($params, &$smarty)
{
    $start = strtotime($params['start']);
    $end = strtotime($params['end']);

    $ret = date('Y-m-d H:i', $start);
    $ret.= '';
    if (date('Y', $start) != date('Y', $end)) {
        $ret.= date('Y-', $end);
    }
    if (date('Y-m-d', $start) != date('Y-m-d', $end)) {
        $ret.= date('m-d ', $end);
    }
    $ret.= date('H:i', $end);
    return $ret;
}

3分クッキングでした。