我想做的是让服务器上的脚本读取文本文件,对其进行排序,然后将其输出到 javascript 对象(可能通过 JSON)。有问题的文本文件如下所示:
13/09/2009,17/09/2009,任意日期 14/09/2009,18/09/2009,一些随机评论 14/09/2010,18/12/2010,对日期的评论 14/09/2010,18/09/2010,另一个日期的子集 14/09/2001,18/09/2002,最早的日期
处理文件读取的 php 如下所示:
function loadDates()
{
$dateFile = fopen("dates.txt", "rt");
$dates = array();
if($dateFile)
{
flock($dateFile,LOCK_SH);
$i = 0;
while(!feof($dateFile))
{
$text = fgets($dateFile);
if($text !== FALSE)
{
$i++;
$arr = explode(",",$text,3);
//actual storage
$dates[$i]['start'] = strtotime($arr[0]);
$dates[$i]['end'] = strtotime($arr[1]);
$dates[$i]['comment'] = $arr[2];
}
}
fclose($dateFile);
//sort by start date, then by end date
foreach($dates as $key => $item)
{
$start[$key] = $item['start'];
$end[$key] = $item['end'];
}
array_multisort($start, SORT_ASC, $end, SORT_ASC, $dates);
return $dates;
}
else
{
return FALSE;
}
}
但是,它将 unix 时间戳存储在开始日期和结束日期中。我会使用这个DateTime
类,但我目前仅限于 PHP 4.4。理想情况下,我想以以下格式存储日期:
- 可以数值比较
- 是人类可读的(允许人类编辑
dates.txt
) - 格式一致(即“01-01-1900”转换为“01/01/1900”)
- 可以转换为 javascript Date 对象
我将如何存储日期以使它们满足这些限制?