こんにちは「2005-10-1613:05:41」のタイムスタンプがあるとします。
次回、最初のポイントから午前10時になるときのUNIX時間を設定する変数を作成するにはどうすればよいですか?
こんな感じでしょうか?
$timestamp = "2005-10-16 13:05:41";
$tenAMTime = strtotime("next 10am", $timestamp);
これを行うために使用できる文字列があると思いますか?PHPドキュメントの「次の木曜日」の例のように。
こんにちは「2005-10-1613:05:41」のタイムスタンプがあるとします。
次回、最初のポイントから午前10時になるときのUNIX時間を設定する変数を作成するにはどうすればよいですか?
こんな感じでしょうか?
$timestamp = "2005-10-16 13:05:41";
$tenAMTime = strtotime("next 10am", $timestamp);
これを行うために使用できる文字列があると思いますか?PHPドキュメントの「次の木曜日」の例のように。
あなたはほとんどそれを持っていました...
$tomorrowAt10Am = strtotime('+1 day 10:00:00', $timestamp);
編集:これは、翌日の午前10時のタイムスタンプで、質問のタイトルに基づいています。同じ日の午前10時より前の任意の時間に午前10時を出力する場合は、thatidiotguyが提案したように、ロジックを追加する必要があります。
Edit2:
どういうわけか、すべてのロジックを同じstrtotimeメソッドに入れると機能しないので、単純な関数を作成しました。これは簡単に1行にまとめることができますが、わかりやすくするために2のままにしました。
$time1 = strtotime('-2 days 09:59:59');
$time2 = strtotime('-2 days 10:00:01');
function next_10am($time)
{
$temp = strtotime('+1 day -10 hours', $time);
return strtotime('10:00', $temp);
}
echo next_10am($time1); // Outputs: 2012-09-08 10:00:00
echo next_10am($time2); // Outputs: 2012-09-09 10:00:00
strtotime午前10時が過ぎたかどうかを知る方法はないので、次のようにします。
$timestamp = strtotime("2005-10-16 13:05:41");
// Get current hour and if it is > 10 add a day
if (date('G',$timestamp) >= 10) {
$tenAMTime = strtotime("+1 day 10am", $timestamp);
}
else {
$tenAMTime = strtotime("10am", $timestamp);
}
echo date('r',$tenAMTime); // Comment this out if you want