原来有几个朋友和我反映Sablog-X的有些文章时间错乱。比如明明今天的。会显示昨天或明天的。而归档更加离谱了。12月份明明有几篇文章的。结果全部不显示了。
我的BLOG也有几篇这样的文章,仔细观察了一下。基本上都是晚上。或者凌晨写的。归档的显示问题。原来是时区处理的不好。有时已经处理过了。再处理一次。所以就出现错乱了。
以前获取时间戳的时候,只考虑这个月的第1天,是开始时间。而下个月的第一天是这段时间的结束时间。下个月时间段的时间戳我就直接在月份加1来处理。居然没有想到一年只有12个月。结果导致归档里的12月份的文章现实不出来。想想那个时候真笨啊。不过当时用SAX的少,应该只有不到5个人是用了1年以上的。所以一直没有人发现这个问题。今天在检查时间错乱的时候。发现了。
下面一个函数。修正几个地方的错误。
function gettimestamp($year, $month) {
$start = strtotime($year.'-'.$month.'-1');
if ($month == 12) {
$endyear = $year + 1;
$endmonth = 1;
} else {
$endyear = $year;
$endmonth = $month+1;
}
$end = strtotime($endyear.'-'.$endmonth.'-1');
return $start.'-'.$end;
}
而其他地方的时间错乱问题也一并修正了。
