我有一个当前时间的unix时间戳。我想获得第二天开始的unix时间戳。
$current_timestamp = time();
$allowable_start_date = strtotime('+1 day', $current_timestamp);
正如我现在所做的那样,我只是将整整一天添加到unix时间戳中,相反,我想知道当前一天剩下多少秒,并且只添加那么多秒才能获取第二天第一分钟的unix时间戳。
最好的方法是什么?
答案 0 :(得分:26)
那段时间简单地“make”的最直接方式:
$tomorrowMidnight = mktime(0, 0, 0, date('n'), date('j') + 1);
引用:
我想弄清楚当天剩下多少秒,并且只添加那么多秒才能获得第二天第一分钟的unix时间戳。
不要那样做。尽可能避免相对计算,特别是如果在没有秒算术的情况下“绝对”获得时间戳是如此微不足道。
答案 1 :(得分:8)
答案 2 :(得分:3)
$tomorrow = strtotime('+1 day', strtotime(date('Y-m-d')));
$secondsLeftToday = time() - $tomorrow;
答案 3 :(得分:2)
简单的事情:
$nextday = $current_timestamp + 86400 - ($current_timestamp % 86400);
是我使用的。
答案 4 :(得分:0)
第二天的开始计算如下:
<?php
$current_timestamp = time();
$allowable_start_date = strtotime('tomorrow', $current_timestamp);
echo date('r', $allowable_start_date);
?>
如果需要遵循您的特殊要求:
<?php
$current_timestamp = time();
$seconds_to_add = strtotime('tomorrow', $current_timestamp) - $current_timestamp;
echo date('r', $current_timestamp + $seconds_to_add);
?>
答案 5 :(得分:0)
我的变体:
$allowable_start_date = strtotime('today +1 day');