根据字符串获取最接近(过去)的时间

时间:2014-08-25 13:32:15

标签: php

我想创建一个可以找到最接近时间的函数,基于一个秒的字符串。

系统将收到相当于该时间秒的int数。 PHP必须找到最接近的(过去的)日期。

示例:

//supose that an anterior script created it at "14-08-25 10:32:30"
//and now it's "14-08-25 10:33:12"
$seconds = 30; // the variable passed from an anterior script
$time_received= date('Y-m-d H:i:s'); // this is the time that I'll receive this 
//so, from these 2 variables above, i must find "14-08-25 10:32:30"

任何人都知道如何做到这一点?

我有这些变量: 现在的时间,即" 14-08-25 10:33:12" 和$ seconds变量。

有了这两个,我想得到" 14-08-25 10:32:30"

2 个答案:

答案 0 :(得分:0)

我并不完全清楚你想要完成什么,但我正在使用strtotime()进行猜测:

<?php
$seconds = 30;
$time = strtotime("-" . $seconds . " seconds");
echo date( "Y-m-d H:i:s", $time );
?>

答案 1 :(得分:0)

实测值。 我正在使用这个脚本:

$seconds = 30; 
$new_date = new DateTime(date()); //the only two variables that i have

if($new_date->format('s')<$seconds){
    $new_date->setTime($new_date->format('H'),$new_date->format('i')-1,$seconds);
    $old_date = $new_date->format('Y/m/d H:i:s');
}else{
    $new_date->setTime($new_date->format('H'),$new_date->format('i'),$seconds);
    $old_date = $new_date->format('Y/m/d H:i:s');
}