先週の投稿の取得について
-
はじめまして。Akemiと申します。先月からPHP/WordPressを触りだした初心者ですが、よろしくお願いします。
現在時刻から、例えば、先週の日曜日から先週の土曜日の投稿を取得するには、どう書くのがいいのでしょうか?
最初、strtotime('last sunday -1 week')で問題ないかと思いましたが、それだとUTCで取得されるため、9時間のズレが生じることに気が付きました。
そこで、以下のような処理で日付を取得して、一応動作は問題なく実装できたのですが、かなり冗長的で、先月や2週間前の投稿を取得といったときの処理を書くときも必要なため、少しめんどくさいと思いました・・$offset = intval(get_option('gmt_offset')); $date_time = new DateTime(date_i18n('Y-m-d H:i:s')); $hour = intval($date_time->format('H')); $day_of_the_week = $date_time->format('l'); $start = strtotime('last sunday -1 week'); $end = strtotime('last saturday'); if ($day_of_the_week === 'Sunday') { $start = strtotime('last sunday'); if ($hour < $offset) { $end = strtotime('this saturday'); } } elseif ($day_of_the_week === 'Monday') { if ($hour < $offset) { $start = strtotime('last sunday'); } } $start_date = date('Y-m-d 00:00:00', $start); $end_date = date('Y-m-d 23:59:59', $end); $wpdb->prepare("SELECT * .......);strtotime('last sunday Asia/Tokyo')だとUTCより-9時間の値が帰ってきますし、date_default_timezone_set('Asia/Tokyo')を設定して、処理後にタイムゾーンを戻すみたいのがいいのしょうか?
タイムゾーンの設定は、wp-settings.phpで設定されているため、変更しないほうがベターだと思っています。
よろしくお願いします。
6件の返信を表示中 - 1 - 6件目 (全6件中)
6件の返信を表示中 - 1 - 6件目 (全6件中)
トピック「先週の投稿の取得について」には新たに返信することはできません。