我从目录中提取文件名和修改日期。 我必须将日期格式化为ymd h:i以便我可以使用array_multisort按日期顺序对数组进行排序。
我希望然后将日期从ymd h:i改为d / m / y h:i;所以140428 11:54将成为28/04/14 11:54。
我已经有一个for循环,遍历每个数组位置,基本上将它附加到一个变量,以便在网站上打印出来。
<?php
$filelist = array("");
$datelist = array("");
$html = "";
$x = "";
$days = 250;
$path = 'Directory...';
if ($handle = opendir($path)) {
while (false !== ($file = readdir ($handle))) {
if (($file !== ".") && ($file !== "..") && ($file !== "Failed")
&& ($file !== "Complete")) {
if (filemtime($path.'/'.$file) > (time() - ($days * 24 * 60 * 60 ) ) ) {
array_push($filelist, $file);
array_push($datelist, date("ymd h:i", filemtime($path.'/'.$file)));
}
}
}
closedir($handle);
array_multisort($datelist, SORT_DESC, $filelist);
$num = count ($filelist);
for ($x=0; $x<$num; $x++) {
$html .= '<tr><td><a href="file://directory/'.$filelist[$x].'">'.$filelist[$x]
.'</a><br></td><td>'.$datelist[$x].'</td></tr>'."\n\t\t\t\t\t\t\t\t\t\t\t\t";
}
}
?>
答案 0 :(得分:0)
您可以创建一个帮助函数来解析自定义日期时间字符串,如下所示:
<?php
// Helper Function
function parseDate($datetime_str)
{
list($myDate, $myTime) = explode(' ', $datetime_str);
list($year, $month, $date) = str_split($myDate, 2);
return "$date/$month/$year $myTime";
}
// Data Source
$datetime_str = '140428 11:54';
// Usage
var_dump(parseDate($datetime_str));
?>
输出:
答案 1 :(得分:0)
我希望然后将日期从ymd h:i改为d / m / y h:i;所以140428 11:54将成为28/04/14 11:54。
使用DateTime
进行此类操作
$date = DateTime::createFromFormat('ymd h:i', '140428 11:54');
echo $date->format("d/m/y h:i");