首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PhP日期时间加法

PhP日期时间加法
EN

Stack Overflow用户
提问于 2021-02-23 15:59:38
回答 3查看 90关注 0票数 0

我有两个变量。

第一个-> (“01:10:00”)(字符串);第二个-> ("2021-02-23 16:30:00“)(字符串)

我想把这两句加成"2021-02-23 17:40:00“。

我如何用PHP来完成这个任务呢?

非常感谢大家的回答,谢谢大家。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-02-23 16:34:40

您可以首先爆炸添加时间(第一个变量),然后使用函数strtotime将爆炸信息添加到日期(第二个变量):

代码语言:javascript
复制
<?php
$firstVar = "01:10:00";
list($hours, $minutes, $seconds) = explode(":", $firstVar);
$secondVar = "2021-02-23 16:30:00";
echo date('Y-m-d H:i:s',strtotime('+'. $hours .' hour +'. $minutes .' minutes +'. $seconds .' seconds',strtotime($secondVar)));
?>
票数 2
EN

Stack Overflow用户

发布于 2021-02-23 16:32:29

你可以这样做:

代码语言:javascript
复制
<?php

$newtimestamp = strtotime('2021-02-23 16:30:00 + 70 minute');
// OR $newtimestamp = strtotime('2021-02-23 16:30:00 + 1 hour + 10 minute');
echo date('Y-m-d H:i:s', $newtimestamp); // Output: 2021-02-23 17:40:00

无论如何,如果需要将HH:MM:SS转换为分钟,可以使用以下函数:

代码语言:javascript
复制
<?php

function minutes($time) {
   $time = explode(':', $time);
   return ($time[0]*60) + ($time[1]) + ($time[2]/60);
}

echo minutes('01:10:00'); // Output: 70

所以最后你可以做:

代码语言:javascript
复制
<?php

$datetime = '2021-02-23 16:30:00';
$add = minutes('01:10:00');

$newtimestamp = strtotime("$datetime + $add minute");
echo date('Y-m-d H:i:s', $newtimestamp);

function minutes($time) {
   $time = explode(':', $time);
   return ($time[0]*60) + ($time[1]) + ($time[2]/60);
}
票数 1
EN

Stack Overflow用户

发布于 2021-02-23 17:54:17

DateTime的解决方案。时间被转换为秒,并使用修改方法添加。

代码语言:javascript
复制
$timeArr = explode(':',"01:10:00");
$seconds = ($timeArr[0]*60 + $timeArr[1]) *60 + $timeArr[2];
$dateTime = date_create("2021-02-23 16:30:00")->modify($seconds." Seconds");
echo $dateTime->format("Y-m-d H:i:s");

对于外部类dt来说,这就更容易了。这个类有一个addTime()方法。

代码语言:javascript
复制
$dt = dt::create("2021-02-23 16:30:00")->addTime("01:10:00");
echo $dt->format("Y-m-d H:i:s"); //2021-02-23 17:40:00
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66336625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档