如何将天数转换为unixtimestamp?
示例如果用户在表单中输入55(= 55天),我希望将55天添加到当前时间,然后将其存储在unix时间戳中。
答案 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