我有这个从mysql db中选择一个日期,并将它与瑞典语的月份名称数组进行比较。
$monthnames = array("","Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December");
$postdate = $monthnames[date("n", strtotime( $row['modify_date'] ))];
//Outputs something like '12 Februari'
这是问题,我想检查$ postdate变量并根据日期将其更改为“今天”,“昨天”和“前天”,我该怎么办?
由于
答案 0 :(得分:0)
如果您使用时间戳在数据库中存储日期:
您可以预设间隔,例如:
$day = mktime(0,0,0,2,1,2001)-mktime(0,0,0,1,1,2001);
您可以将现在的时间 - 数据库中的时间戳/日期与这些时间间隔进行比较。
例如,假设$ dbTime包含使用mysql获取的时间戳:
$time = time() - $dbTime;
if($time<$day)
echo 'posted today';
elseif($time<($day*2))
echo 'posted yesterday';
等等。
然后,如果它们大于预定义的间隔,您可以使用PHP的日期函数来回显小时,分钟,秒或日期。
答案 1 :(得分:0)
PHP中没有这样的内置函数。你需要做计算,在这种情况下mktime
函数可以成为你的朋友。
if (date of $timenow == date of $timepost) { today; }
else if (date of $timenow - 24h == date of $timepost) { yesterday; }
etc.
请注意夏季/冬季时间变化,时区等。请尝试使用mktime()