将天数转换为 unix 时间戳

发布于 2024-12-03 19:18:48 字数 305 浏览 1 评论 0原文

可能的重复:
如何将 24 小时添加到php 中的 unix 时间戳?

如何将天数转换为 unixtimestamp?

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

Possible Duplicate:
How do I add 24 hours to a unix timestamp in php?

How can I convert days to a unixtimestamp?

Example if a user inputs 55 (=55 days) in a form, I wish to add 55 days, to the current time, and then store it in a unix timestamp.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

夜清冷一曲。 2024-12-10 19:18:48

使用 time() 进行算术:

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

或者可能使用 strtotime()

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

Arithmetic with time():

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

or perhaps using strtotime():

$input = (int) $_POST['days'];
$timestamp = strtotime('+' . $input ' days');
年少掌心 2024-12-10 19:18:48

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

但是,如果您正在做的事情甚至比这稍微复杂一点,请让 PHP 来计算“一天”的含义并使用 日期时间类。例如:

$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

这些类比手动计算更灵活,而且当您了解它们时,也更直观。

The obvious solution is to say that a UNIX timestamp is in seconds, so just multiply the number of days by the number of seconds in a day (86400) and add that to the current time (time()).

However, if you are doing anything even slightly more complex than this, leave it to PHP to work out what "a day" means and use the DateTime classes. For instance:

$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

These classes are much more flexible – and, when you get to know them, much more intuitive – than doing the calculations manually.

昨迟人 2024-12-10 19:18:48

time() 已经返回一个 unix 时间戳,这是自 1970 年以来的时间(以秒为单位)。因此,要加起来 55 天,您应该添加 55 * SecondsPerDay 秒。

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

time() already returns a unix timestamp, which is the time in seconds since about 1970. So to add up 55 days, you should add 55 * secondsPerDay seconds.

$result = time() + 55 * 24 * 60 * 60; // Or 55 * 86400
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文