php – 将今天,昨天和本周的日期更改为相对的,人类可读的格式
发布时间:2020-05-25 09:10:53 所属栏目:PHP 来源:互联网
导读:我正在收集一些推文,我很乐意输出他们今天,昨天或之前是否进来.这是我正在使用的代码(不起作用).它正在跳过if和else if和直接去其他地方. date_default_timezone_set(America/New_York);$time = $block[created_at];$time = strtotime($time);if(date(now) ==
|
我正在收集一些推文,我很乐意输出他们今天,昨天或之前是否进来.这是我正在使用的代码(不起作用).它正在跳过if和else if和直接去其他地方. date_default_timezone_set("America/New_York");
$time = $block["created_at"];
$time = strtotime($time);
if(date("now") == date("m-d-Y",$time)) {
$time = date("g:ia",$time);
}
else if(date(strtotime("-1 day")) == date("m-d-Y",$time)) {
$time = "Yesterday at" + date("g:ia",$time);
}
else {
$time = date("m-d-Y g:ia",$time);
}
绝对理想的情况是,如果时间戳在过去的6天内,它会显示星期几和时间,而且比这更早的任何内容都会显示日期,我也会喜欢它. 所以流可能看起来像这样(日期排序降序):
知道我的代码出错了吗?谢谢! strtotime函数可以解析各种字符串:
echo date("D Y-m-d H:i:s"); // Wed 2013-01-09 21:33:07
echo date("D Y-m-d H:i:s",strtotime("today 00:00" )); // Wed 2013-01-09 00:00:00
echo date("D Y-m-d H:i:s",strtotime("yesterday 00:00")); // Tue 2013-01-08 00:00:00
echo date("D Y-m-d H:i:s",strtotime("-6 day 00:00" )); // Thu 2013-01-03 00:00:00
echo date("D Y-m-d H:i:s",strtotime("-100 day 00:00" )); // Mon 2012-10-01 00:00:00
您现在需要做的就是按降序比较给定的时间戳和上面的时间戳: function formatDate($time) {
if ($time >= strtotime("today 00:00")) {
return date("g:i A",$time);
} elseif ($time >= strtotime("yesterday 00:00")) {
return "Yesterday at " . date("g:i A",$time);
} elseif ($time >= strtotime("-6 day 00:00")) {
return date("l at g:i A",$time);
} else {
return date("M j,Y",$time);
}
}
echo formatDate(time()); // 9:42 PM
echo formatDate(strtotime("-1 day")); // Yesterday at 9:42 PM
echo formatDate(strtotime("-6 day")); // Thursday at 9:42 PM
echo formatDate(strtotime("-100 day")); // Oct 10,2012
请注意,strtotime()返回时间戳(整数),而date()返回字符串.该函数将时间戳与时间戳进行比较. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
