我有两个变量。
第一个-> (“01:10:00”)(字符串);第二个-> ("2021-02-23 16:30:00“)(字符串)
我想把这两句加成"2021-02-23 17:40:00“。
我如何用PHP来完成这个任务呢?
非常感谢大家的回答,谢谢大家。
发布于 2021-02-23 16:34:40
您可以首先爆炸添加时间(第一个变量),然后使用函数strtotime将爆炸信息添加到日期(第二个变量):
<?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)));
?>发布于 2021-02-23 16:32:29
你可以这样做:
<?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转换为分钟,可以使用以下函数:
<?php
function minutes($time) {
$time = explode(':', $time);
return ($time[0]*60) + ($time[1]) + ($time[2]/60);
}
echo minutes('01:10:00'); // Output: 70所以最后你可以做:
<?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);
}发布于 2021-02-23 17:54:17
DateTime的解决方案。时间被转换为秒,并使用修改方法添加。
$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()方法。
$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:00https://stackoverflow.com/questions/66336625
复制相似问题