■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

公開日時の取得方法

Jay > 公開日時の取得方法 @ 2011/12/8 0:39
はじめまして。
Jayと申します。

現在、記事一覧を生成するposts.ctpを編集して公開日時情報を取得できないかと考えています。

記事作成日時はpostDateで取得しているのはわかるのですが
公開日時については他の関数を使って取得できるのでしょうか。

記事の公開開始日と公開終了日を取得する方法をお教え頂きたいです。

よろしくお願いいたします。

■ BaserCMSのバージョン: 1.6.15
■ レンタルサーバー名:Sixcore
■ スマートURLの利用: [ON]
■ 設置フォルダ: [ドキュメントルート]
■ 利用しているデータベース: [CSV]
■ PHPスキル

Jay > Re: 公開日時の取得方法 @ 2011/12/8 14:28
すみません自己解決しました。
下記で取得できました。


<?php echo $post['BlogPost']['publish_begin']; ?>
<?php echo $post['BlogPost']['publish_end']; ?>


この場合date formatがデフォルトでは 2011-12-10 と表示されます。
これを2011.12.10に変更をしたかったので下記のようにしました。


<?php 
$end_date = $post['BlogPost']['publish_end'];
$date = new DateTime($end_date);
echo $date->format('Y.m.d');
?>


あまりコードに自信がありませんが、よりスマートに記述する方法等があれば、教えていただきたいです。

■ BaserCMSのバージョン: 1.6.15
■ レンタルサーバー名:Sixcore
■ スマートURLの利用: [ON]
■ 設置フォルダ: [ドキュメントルート]
■ 利用しているデータベース: [CSV]
■ PHPスキル

arata > Re: 公開日時の取得方法 @ 2011/12/8 17:59
こんにちは!Jayさん。

以下のようなやり方を一例として書いておきますね。

<?php if($post['BlogPost']['publish_begin'] != '0000-00-00 00:00:00') : ?>
	<?php echo date('Y.m.d', strtotime($post['BlogPost']['publish_begin'])) ?>
<?php endif; ?>


ではごきげんよう!丶(・ω・)ノ

■ 不明点解消できるかも。逆引きガイドもあります baserCMS公式wiki
■ Twitter:@arata

ryuring > Re: 公開日時の取得方法 @ 2011/12/8 19:36
こんばんは。

TimeHelperを使うという手もありますね。
こちらだと、日付が空の場合でも、1970/01/01 のような日付に変換されず安心してつかえます。

<?php echo $timeEx->format('Y.m.d', strtotime($post['BlogPost']['publish_begin'])) ?>

Twitter:@ryuring
baserCMS総合サービスサイト ビーコミ

Jay > Re: 公開日時の取得方法 @ 2011/12/10 5:51
arataさん、ryuringさん

早速ご教授いただきありがとうございます。
どちらの方法もうまくいきました。
TimeHelperを使うというのは、思い浮かびませんでした。

やはり奥が深いです!
解決方法がひとつではないことを改めて実感しました。

どうもありがとうございました。

■ BaserCMSのバージョン: 1.6.15
■ レンタルサーバー名:Sixcore
■ スマートURLの利用: [ON]
■ 設置フォルダ: [ドキュメントルート]
■ 利用しているデータベース: [CSV]
■ PHPスキル

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
20 人のユーザが現在オンラインです。 (19 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 20