将变量字符串添加到datetime,例如。 2周

时间:2017-08-02 12:23:51

标签: php

是否可以在PHP中添加一个类似“2天,2周甚至4小时”的变量字符串到日期时间。

例如:

我有这样的约会时间:'2017-08-02 12:00' 现在用户选择“4小时或2周”的间隔 现在应该将用户选择添加到日期时间。

这可能吗?

我不想要整个代码,也许只是建议如何做到这一点。

感谢

3 个答案:

答案 0 :(得分:3)

是的,使用

$userDate = strtotime('2017-08-02 12:00:00');

echo date('Y-m-d H:i:s', strtotime('+4 hours', $userDate));

在4小时后获得日期

Example

说明

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');

添加是您要添加的变量。