php中的时间计算(加10个小时)?

时间:2009-11-03 07:08:19

标签: php time addition

我有时间:

$today = time();
$date = date('h:i:s A', strtotime($today));

如果当前时间是“凌晨1:00:00”,我如何再增加10个小时才能成为上午11:00:00?

7 个答案:

答案 0 :(得分:48)

strtotime()会给你一个回数,表示以秒为单位的时间。要增加它,请添加要添加的相应秒数。 10小时= 60 * 60 * 10 = 36000,所以......

$date = date('h:i:s A', strtotime($today)+36000); // $today is today date

编辑:我原以为你今天有一个字符串时间 - 如果你只是使用当前时间,甚至更简单:

$date = date('h:i:s A', time()+36000); // time() returns a time in seconds already

答案 1 :(得分:20)

$tz = new DateTimeZone('Europe/London');
$date = new DateTime($today, $tz);
$date->modify('+10 hours');
// use $date->format() to outputs the result.

DateTime Class (PHP 5> = 5.2.0)

答案 2 :(得分:6)

$date = date('h:i:s A', strtotime($today . ' + 10 hours'));

(未测试的)

答案 3 :(得分:6)

您可以简单地使用DateTime类,OOP样式。

<?php
$date = new DateTime('1:00:00');
$date->add(new DateInterval('PT10H'));
echo $date->format('H:i:s a'); //"prints" 11:00:00 a.m

答案 4 :(得分:3)

$date = date('h:i:s A', strtotime($today . " +10 hours"));

答案 5 :(得分:1)

现在显示的完整代码和10分钟的添加.....

$nowtime = date("Y-m-d H:i:s");
echo $nowtime;
$date = date('Y-m-d H:i:s', strtotime($nowtime . ' + 10 minute'));
echo "<br>".$date;

答案 6 :(得分:0)

为了使用strtotime来增加或减少时间,您可以在第一个参数中使用Relative format

在您的情况下,将当前时间增加10小时:

$date = date('h:i:s A', strtotime('+10 hours'));

如果您需要将更改应用于另一个时间戳,则可以指定第二个参数。

注意:

  

不建议将此函数用于数学运算。最好在PHP 5.3和更高版本中使用DateTime::add()和DateTime :: sub(),在PHP 5.2中使用DateTime :: modify()。

因此,推荐的方法自PHP 5.3起:

$dt = new DateTime(); // assuming we need to add to the current time
$dt->add(new DateInterval('PT10H'));
$date = $dt->format('h:i:s A');

或使用别名:

$dt = date_create(); // assuming we need to add to the current time
date_add($dt, date_interval_create_from_date_string('10 hours')); 
$date = date_format($dt, 'h:i:s A');

在所有情况下,除非指定了时区,否则将使用默认时区。