Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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-两次之间的差异_Php_Time - Fatal编程技术网

PHP-两次之间的差异

PHP-两次之间的差异,php,time,Php,Time,我为慈善比赛设计了计时系统。我试图用PHP找出开始时间和结束时间之间的差异。我不确定我记录的时间是否正确,但这是我刚刚记录的开始时间 20180808180653 这是一个终结者的时刻 20180808180654 它们之间的差异大约是1小时24小时,但当我使用 date('h:i:s', $finshTime-$startTime) 我得到的是03:24:20而不是01:34:20 有人能帮忙吗?date方法接受“integer Unix timestamp”。您提供的是秒数(在您的示例

我为慈善比赛设计了计时系统。我试图用PHP找出开始时间和结束时间之间的差异。我不确定我记录的时间是否正确,但这是我刚刚记录的开始时间

20180808180653
这是一个终结者的时刻

20180808180654
它们之间的差异大约是1小时24小时,但当我使用

date('h:i:s', $finshTime-$startTime)
我得到的是03:24:20而不是01:34:20


有人能帮忙吗?

date方法接受“integer Unix timestamp”。您提供的是秒数(在您的示例中为
1

我会对使用类似于这样的日期时间的字符串表示持谨慎态度。将整个过程转换为一种日期格式,类似于
yyyy-mm-dd hh:mm:ss
,或一个有效的unix时间戳


您的第一种方法并不遥远,您只需要使用一个函数。我保证,您可以首先对正在使用的字符串进行准确的日期或Unix时间表示。Rest应该到位。

date方法接受“integer Unix timestamp”。您提供的是秒数(在您的示例中为
1

我会对使用类似于这样的日期时间的字符串表示持谨慎态度。将整个过程转换为一种日期格式,类似于
yyyy-mm-dd hh:mm:ss
,或一个有效的unix时间戳


您的第一种方法并不遥远,您只需要使用一个函数。我保证,您可以首先对正在使用的字符串进行准确的日期或Unix时间表示。Rest应该到位。

首先检查$finshTime和$startTime的类型是否为整数。
您可以使用get变量类型:

 gettype($startTime);
如果是这种情况,请使用()进行尝试:

如果$startTime和$finshTime是字符串,请尝试以下操作:

$diff_date = date('h:i:s', (strtotime($finshTime) - strtotime($startTime)) );

首先检查$finshTime和$startTime的类型是否为整数。
您可以使用get变量类型:

 gettype($startTime);
如果是这种情况,请使用()进行尝试:

如果$startTime和$finshTime是字符串,请尝试以下操作:

$diff_date = date('h:i:s', (strtotime($finshTime) - strtotime($startTime)) );

将开始将每个字符串“日期”转换为unix时间。也许看看你正在时区打印的日期,即UTC+2。实际上,您正在打印
1970-01-01T01:34:20Z
(Z表示UTC)的
h:i:s
部分,因为时间戳0是
1970-01-01T00:00:00Z
将开始将每个字符串“日期”转换为unix时间。也许看看你正在时区打印的日期,即UTC+2。实际上,您正在打印
1970-01-01T01:34:20Z
(Z表示UTC)的
h:i:s
部分,因为时间戳0是
1970-01-01T00:00:00Z