Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 加上一个小时,从_Php_Strtotime - Fatal编程技术网

Php 加上一个小时,从

Php 加上一个小时,从,php,strtotime,Php,Strtotime,我正在使用date('H',strotime($\u-GET['H'.+1小时))当前($\u-GET['H']包含我从URL获得的时间,即20:00时的20小时),但它只在应该打印21时打印01。我想得到这个小时,再加上一个小时,20就是21,依此类推 我做错了什么?类似的方法应该可以: $time = DateTime::createFromFormat('H:i', '20:00'); $time->modify('+1 hour'); echo $time->format('

我正在使用
date('H',strotime($\u-GET['H'.+1小时))
当前(
$\u-GET['H']
包含我从URL获得的时间,即20:00时的20小时),但它只在应该打印
21时打印
01
。我想得到这个小时,再加上一个小时,20就是21,依此类推


我做错了什么?

类似的方法应该可以:

$time = DateTime::createFromFormat('H:i', '20:00');
$time->modify('+1 hour');
echo $time->format('H:i');

您可以在时间戳中添加秒数来执行此操作:

date('H',mktime($_GET['h']) + 60 * 60)

由于时间戳必须以秒为单位,因此前60*60以秒为单位获取小时。第二个会在时间戳上增加一小时的秒数。

非常感谢!就这样:)我会尽快接受你的答案。+1表示DateTime的使用,它应该在PHP中的几乎所有基本数据操作示例中使用。更好的方法,但是:==21谢谢,但是John的答案更好:)我的答案不是答案,而是你的问题和代码!因此,我不知道如何从代码和声明的输入中获得
01
。但同意约翰的准则;)哦好啊我在您的评论中没有看到您的问号,因此我认为这是一个答案:)此方法避免了仅为获取小时而实例化日期对象的开销,但牺牲了可读性。谢谢,但您的代码只打印
02
无论小时设置为多少:/对不起,我的英语不好您是对的,strotime在那里不起作用。更新了答案,改为使用mktime()。