20

我有一个当前时间的 Unix 时间戳。我想获取第二天开始的 unix 时间戳。

$current_timestamp = time();
$allowable_start_date = strtotime('+1 day', $current_timestamp);

正如我现在所做的那样,我只是在 unix 时间戳中添加一整天,而我想弄清楚这一天还剩下多少秒,并且只添加那么多秒才能获得 unix第二天第一分钟的时间戳。

解决此问题的最佳方法是什么?

4

6 回答 6

28

那个时候最简单的“ make ”方法:

$tomorrowMidnight = mktime(0, 0, 0, date('n'), date('j') + 1);

引用:

我想弄清楚这一天还剩下多少秒,并且只添加那几秒才能获得第二天第一分钟的 unix 时间戳。

不要那样做。尽可能避免相对计算,特别是如果“绝对”在没有秒算术的情况下获取时间戳是如此微不足道。

于 2010-03-26T08:20:46.897 回答
10

您可以通过以下方式轻松获得明天的午夜时间戳:

$tomorrow_timestamp = strtotime('tomorrow');

如果您希望能够执行可变天数,您可以轻松地这样做:

$days = 4;
$x_num_days_timestamp = strtotime(date('m/d/Y', strtotime("+$days days"))));
于 2010-03-26T08:04:14.777 回答
4
$tomorrow = strtotime('+1 day', strtotime(date('Y-m-d')));
$secondsLeftToday = time() - $tomorrow;
于 2010-03-26T00:26:50.890 回答
1

像这样简单的东西:

$nextday = $current_timestamp + 86400 - ($current_timestamp % 86400);

是我会使用的。

于 2010-03-26T00:26:20.843 回答
0

我的变种:

 $allowable_start_date = strtotime('today +1 day');
于 2013-12-04T09:58:29.680 回答
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);

?>
于 2010-03-26T08:56:46.167 回答