PHP

次に来る◯時のタイムスタンプを取得するシンプルな方法

次に来る◯時(5時とか)のタイムスタンプが欲しい時ありますよね?
色々方法はあると思いますが、なんだかんだで日をまたぐと煩雑になりがち。
ということでstrtotime()を使ってシンプルに片付けたのでメモ。

strtotime(sprintf($hour > date('G') ? '%d:00' : '+1 day %d:00', $hour)));


テストコードはこちら

<?php
// 次回の正午のタイムスタンプを求めたい(今日かもしれないし、明日かもしれない)
$hour = 12;

$nextTargetTime = strtotime(sprintf($hour > date('G') ? '%d:00' : '+1 day %d:00', $hour)));

echo date('Y-m-d H:i:s', $nextTargetTime);

strtotime()様々です。
まあ、ホントは'next 12:00'とか認識してくれたら最高なんですけどね。
※翌日の表現は'yesterday'でも'next day'でもいいけど'+1 day'が一番文字数が少ない。

スポンサーリンク
管理人

システムえんじにゃー🐈
趣味はエレキギターなど。作曲したい。
WoWs/プリコネ
記事に関する質問はお気軽にどうぞ。

surface0 (さーふぇす)をフォローする
surface0 (さーふぇす)をフォローする
Rain or Shine

コメント

タイトルとURLをコピーしました