是否可以在PHP中添加一个类似“2天,2周甚至4小时”的变量字符串到日期时间。
例如:
我有这样的约会时间:'2017-08-02 12:00' 现在用户选择“4小时或2周”的间隔 现在应该将用户选择添加到日期时间。
这可能吗?
我不想要整个代码,也许只是建议如何做到这一点。
感谢
答案 0 :(得分:3)
是的,使用
$userDate = strtotime('2017-08-02 12:00:00');
echo date('Y-m-d H:i:s', strtotime('+4 hours', $userDate));
在4小时后获得日期
说明的
strtotime
将任何英文文本日期时间描述转换为Unix时间戳。最常见的是它与实际日期字符串或差异字符串一起使用。例如。 +5 months
,'下周一'等等。它将返回Unix时间戳 - 整数,表示1970-01-01之后的秒数(1970-01-01 00:00:00为0,1970-01-01 00:01:00为60,依此类推)
所以在strtotime('2017-08-02 12:00:00')
中我们将日期转换为整数以供以后使用。
strtotime('+4 hours', $userDate)
- 这里我们将日期用作"现在"参数(默认为' s time()
)并请求在4小时后返回时间戳。
echo date('Y-m-d H:i:s', ...);
- date
接受格式和Unix时间戳,将整数转换回人类可读文本。
答案 1 :(得分:2)
可能你正在寻找这个: http://php.net/manual/en/datetime.modify.php
$date = new DateTime('2006-12-12');
$date->modify('+1 day');
echo $date->format('Y-m-d');
答案 2 :(得分:0)
对于日期时间,您可以使用add方法,但您必须输入正确的代码以便添加。
$my_date = new DateTime();
$addition = 4;
$my_new_date = $my_date->add(new DateInterval("P${addition}D"));
echo $my_new_date->format('Y-m-d H:i:s');
添加是您要添加的变量。