我有问题。
我有一个特定的日期/时间(A),它被放在一个变量中。让我们说May 06 2014 14:26
。
我想将这个日期/时间与文件的修改日期/时间(B)进行比较,如果它是相同的,我也将文件的修改日期/时间(B)也放在变量中。
问题是,我无法在文件(B)上获得完全相同的日期。所以,我希望它会增加5分钟的差异。例如,如果文件(B)具有修改日期May 06 2014 14:28
,则将其放入变量中。或者,如果它具有修改日期May 06 2014 14:22
,它也将被放入变量中。
如果有帮助,我使用date("F d Y H:i",$file['filetime'])
命令来获取文件的修改日期。
有可能做到这一点吗?提前谢谢。
如果不清楚,请告诉我。我是新来的,所以可能很难正确解释。
答案 0 :(得分:0)
首先,我认为您需要通过strtotime方法比较两个日期/时间。有了它,你可以比较两个日期。 然后,如果我使用If / Else方法正确理解,您只需要在数据库中进行一次或两次插入。
希望它有所帮助!
答案 1 :(得分:0)
我要么直接使用unix-timestamps,要么将A和B转换为Unix时间戳(例如使用strtotime)并根据您的要求进行比较。 如果您可以直接访问该文件,您甚至可以使用filemtime直接将最后修改的时间作为unix时间戳记。
答案 2 :(得分:0)
也许,它会有所帮助:
$datetimeA = strtotime($file1['filetime']);
$datetimeB = strtotime($file2['filetime']);
$interval = abs($datetimeA - $datetimeB);
$minutes = round($interval / 60);
if ($minutes > 5) {
//do some magic here
}
如果$ file [' filetime']已经是时间戳,那么您可以在不调用strtotime()
的情况下使用它。
答案 3 :(得分:0)
猜猜这就是你要找的,如果你的问题只是增加5分钟:
$dateB = new DateTime('2014-05-06 14:26:00');
$interval = new DateInterval('PT5M');
$dateB->add($interval);
print_r($dateB);
PHPSandbox:http://sandbox.onlinephpfunctions.com/code/9f9a2ee40f09f953c796c9c2dd7e15ad62b45772
另外,请查看DateInterval以了解更多信息: http://www.php.net/manual/en/dateinterval.construct.php
答案 4 :(得分:0)
使用DateTime类,只需几行即可完成:
$datetime1 = new DateTime('2009-10-13 10:00:00');
$datetime2 = new DateTime('2009-10-13 10:20:00');
$interval = $datetime1->diff($datetime2);
$yourIntervalle = $interval->format('%i minutes'));
答案 5 :(得分:0)
$given_date = 'May 06 2014 14:28';
$date = new DateTime($given_date);
//subtract 5 minutes from the date
$new_date = $date->sub(new DateInterval('PT' . '5' . 'M'));
echo $new_date->format('F d Y H:i');
如果你想加5分钟然后改变
//add 5 minutes to the date
$new_date = $date->add(new DateInterval('PT' . '5' . 'M'));