将天数转换为unix时间戳

时间:2011-09-10 13:52:39

标签: php timestamp

  

可能重复:
  How do I add 24 hours to a unix timestamp in php?

如何将天数转换为unixtimestamp?

示例如果用户在表单中输入55(= 55天),我希望将55天添加到当前时间,然后将其存储在unix时间戳中。

4 个答案:

答案 0 :(得分:4)

使用time()算术:

$input = (int) $_POST['days'];
$timestamp = time() + $input * 86400;

或者可能使用strtotime()

$input = (int) $_POST['days'];
$timestamp = strtotime('+' . $input ' days');

答案 1 :(得分:4)

显而易见的解决方案是说UNIX时间戳以秒为单位,因此只需将天数乘以一天中的秒数(86400)并将其添加到当前时间(time())。

但是,如果您正在做一些比这更复杂的事情,请将它留给PHP来解决“一天”的含义并使用DateTime classes。例如:

$date = new DateTime('now'); // starting point
$interval = new DateInterval('P' . (int) $days . 'D'); // interval of $days days
$date->add($interval); // add the interval to the original date
$timestamp = $date->getTimestamp(); // get the timestamp, or use the date in some other fashion

这些类更灵活 - 当你了解它们时,比手动计算更直观。

答案 2 :(得分:0)

使用echo strtotime("+55 days"); http://php.net/manual/en/function.strtotime.php

答案 3 :(得分:0)

time()已经返回一个unix时间戳,这是自1970年以来的秒数。所以要加上55天,你应该添加55 * secondsPerDay秒。

$result = time() + 55 * 24 * 60 * 60; // Or 55 * 86400