将分钟添加到日期时间字符串


Add minutes to datetime string

$datetime_from = '2013-08-27 14:17:00';
$datetime_till = date("Y-m-d H:i",strtotime("+45 minutes",$datetime_from));

结果是:

$datetime_till = '1970-01-01 01:00:00'

预期结果是

$datetime_till = '2013-08-27 15:02'

如何获得它?

它会

$datetime_from = strtotime('2013-08-27 14:17:00');
$datetime_till = date("Y-m-d H:i",strtotime("+45 minutes",$datetime_from));

您需要将$datetime_from转换为时间

或者你也可以尝试喜欢(我不确定(

$dateTime = DateTime::createFromFormat('m/d/Y h:i', $datetime_from);
$datetime_from = $dateTime->format('U');
$datetime_till = date("Y-m-d H:i",strtotime("+45 minutes",$datetime_from));

尝试-

$datetime_till = date("Y-m-d H:i",strtotime("+45 minutes",strtotime($datetime_from)));

你应该使用 DateTime 类而不是旧的函数式 php。

$dateFrom = new 'DateTime('2013-08-27 14:17:00');
$dateTill = new 'DateTime('2013-08-27 14:17:00');
$dateTill->modify('+45 minutes');
// test if the dates are correct
echo $dateFrom->format('Y-m-d H:i:s'). ' - '.$dateTill->format('Y-m-d H:i:s');

还有许多其他方法可以从 DateTime 类中受益。

您可以使用 DateTime 对象在过程式 PHP 中执行此操作,如下所示:

$datetime_from = date_create('2013-08-27 14:17:00'); // Create a date object from the start date
$datetime_till = date_add($datetime_from, date_interval_create_from_date_string('45 minutes')); // Add the interval to the starting time
echo date_format($datetime_till, 'Y-m-d H:i'); // Format the date how you want it to be output

希望这有帮助。

Use:
$datetime_from = strtotime('2013-08-27 14:17:00');
$datetime_till = date("Y-m-d H:i",$datetime_from+(45*60));

使用日期时间类进行日期/时间修改:

$datetime_from = new DateTime('2013-08-27 14:17:00');
$datetime_till = clone $datetime_from;
$datetime_till->modify('+45 minutes');
echo
    'From: ' . $datetime_from->format('Y-m-d H:i:s') . "'n".
    'Till: ' . $datetime_till->format('Y-m-d H:i:s');

输出将为:

From: 2013-08-27 14:17:00
Till: 2013-08-27 15:02:00

有效的 modify(( 格式在日期和时间格式中进行了说明。


请注意,各种 strtotime(( 示例在日期/时差计算中是不正确的。最简单的例子是2013-03-31 21:002013-03-30 21:00之间的差异。肉眼正好相差 1 天,但如果你减去这 2 个日期,你会得到 82800 秒,也就是 0.95833333333333 天。这是因为从冬季到夏令时的时间变化。日期时间可以正确处理闰年和时区。