Php类对象DateTime转换为时间戳,然后返回到日期会产生10分钟的差异?
因此,我正在编写一些文件代码,以便根据一系列日期对媒体文件重新排序,但在解析从文件名提取的日期时,我遇到了这个问题Php类对象DateTime转换为时间戳,然后返回到日期会产生10分钟的差异?,php,datetime,Php,Datetime,因此,我正在编写一些文件代码,以便根据一系列日期对媒体文件重新排序,但在解析从文件名提取的日期时,我遇到了这个问题 $filename = "G:\Video\Home\testfolder\1-01-2012\20120101031153.m2ts"; $filebase =basename($filename); if(strlen(basename($fileBase,'.'.$info['extension']))==14){
$filename = "G:\Video\Home\testfolder\1-01-2012\20120101031153.m2ts";
$filebase =basename($filename);
if(strlen(basename($fileBase,'.'.$info['extension']))==14){
$fYear = substr($fileBase,0,4);
$fMonth = substr($fileBase,4,2);
$fDay = substr($fileBase,6,2);
$fHour = substr($fileBase,8,2);
$fMin = substr($fileBase,10,2);
$fSec = substr($fileBase,12,2);
$FNDateTime = new DateTime($fYear.'-'.$fMonth.'-'.$fDay.' '.$fHour.':'.$fMin.':'.$fSec);
$FNDateTimeRe = date('d-m-Y H:m:s', $FNDateTime->getTimestamp());
printf(' FileNameExtractedTime: '.$FNDateTimeRe);
}
这是奇怪的部分
$FNDateTime对象-按其应有的方式保存日期“2012-01-01 03:11:53”。
然而,当我检查反转只是为了确保一切都是好的。。。
$FNDateTimeRe将值显示为“01-01-2012 03:01:53”
正如你所看到的,它正好少了10分钟
我检查了我的时区,并明确设置了
date_default_timezone_set('AUSTRALIA/Brisbane');
以确保一致性,但没有骰子
我确信我错过了一件显而易见的事情:感谢任何帮助
开发环境:Windows7,Apache2.2.22PHP5.3.13…
m
的日期格式不是分钟,因为您已经使用了一个月了。试试i
哦,哇……多么愚蠢的错误啊……我刚刚查看了php日期文档,回来看看这个……谢谢你,伙计。只需等待10分钟就可以接受这个问题…有没有可能我们可以假装我没有问这个问题??。。。