大佬教程收集整理的这篇文章主要介绍了php – 将今天,昨天和本周的日期更改为相对的,人类可读的格式,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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 \\a\\t 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()返回字符串.该函数将时间戳与时间戳进行比较.
以上是大佬教程为你收集整理的php – 将今天,昨天和本周的日期更改为相对的,人类可读的格式全部内容,希望文章能够帮你解决php – 将今天,昨天和本周的日期更改为相对的,人类可读的格式所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。