Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php HH:MM到秒_Php_Utc_Strtotime - Fatal编程技术网

Php HH:MM到秒

Php HH:MM到秒,php,utc,strtotime,Php,Utc,Strtotime,我使用了一个API函数,它以hh:mm left返回估计的到达时间,即距离到达时间0:31 我试图做的是将返回的hh:mm添加到当前时间,因此最终结果是UTC中的估计到达时间 我目前有一个非常简单的脚本,可以按原样工作,但由于API函数的格式为hh:mm,并且strotime似乎无法识别除整数之外的任何加法或减法运算,因此如果在下面的脚本中用+hh:mm替换+07,这将不起作用 <?php $time = strtotime("now +07 hours"); print gmdate

我使用了一个API函数,它以hh:mm left返回估计的到达时间,即距离到达时间0:31

我试图做的是将返回的hh:mm添加到当前时间,因此最终结果是UTC中的估计到达时间

我目前有一个非常简单的脚本,可以按原样工作,但由于API函数的格式为hh:mm,并且strotime似乎无法识别除整数之外的任何加法或减法运算,因此如果在下面的脚本中用+hh:mm替换+07,这将不起作用

<?php

$time = strtotime("now +07 hours");

print gmdate('H:i T', $time);

?>


所以我的最终结果应该是UTC中ETA的hh:mm。

如果您将strotime参数更改为现在+07小时,+06分钟,您应该能够添加它们。要将小时和分钟分开,只需使用
explode(':',$returnedString)


如果您将strotime参数更改为
now+07小时+06分钟
,您应该能够添加它们。要将小时和分钟分开,只需使用
explode(':',$returnedString)



更灵活的方式:

<?php
function getETA($arrival, $timezone='UTC', $format='H:i T')
{
    list($hours,$minutes) = explode(':', $arrival);

    $dt = new DateTime('now', new DateTimeZone($timezone));
    $di = new DateInterval('PT'.$hours.'H'.$minutes.'M');
    $dt->add($di);

    return $dt->format($format);
}
?>
更灵活的方式:

<?php
function getETA($arrival, $timezone='UTC', $format='H:i T')
{
    list($hours,$minutes) = explode(':', $arrival);

    $dt = new DateTime('now', new DateTimeZone($timezone));
    $di = new DateInterval('PT'.$hours.'H'.$minutes.'M');
    $dt->add($di);

    return $dt->format($format);
}
?>

“HH:MM”
中提取
SS
似乎是一个非常基本的字符串操作过程。从
“HH:MM”
中提取
SS
似乎是一个非常基本的字符串操作过程。
<?php
function getETA($arrival, $timezone='UTC', $format='H:i T')
{
    list($hours,$minutes) = explode(':', $arrival);

    $dt = new DateTime('now', new DateTimeZone($timezone));
    $di = new DateInterval('PT'.$hours.'H'.$minutes.'M');
    $dt->add($di);

    return $dt->format($format);
}
?>
<?php
    echo getETA('07:10');
    echo getETA('07:10', 'America/New_York', 'h:i a T');
?>
23:56 UTC
07:56 pm EDT