我正在尝试获取 UNIX 时间戳并使用 PHP 将其转换为字符串。考虑到 PHP 的内置函数,这很容易,但是我有一组特定的要求,这让我有些困惑。
逻辑应该如下:
- 如果时间戳是今天 - 返回
today
- 如果时间戳昨天发生 - 返回
yesterday
- 如果时间戳早于昨天但本周仍返回
day name
(星期四、星期二等) - 如果时间戳发生在上周 - 返回
last week
- 如果时间戳早于上周 - 返回
Month and Year
(格式为 2013 年 6 月、2011 年 1 月等)
这从一开始就显得很简单,但由于某种原因,我的大脑对这件事感到困惑。
请注意: 我不想要基于纯算术的解决方案,因为现代日历系统非常复杂,为了准确,我想使用内置的时间函数来解决这个问题。strtotime()
等date()
。
提前致谢
编辑:到目前为止我使用的逻辑的初始部分如下。当然,这只会today
在时间戳为今天时返回。我需要扩展它以考虑其他要求。也许使用strtotime
?
public function getTimeChange($timestamp)
{
$today = date('Ymd');
$date = date(Ymd', $timestamp);
if($date == $today){
return 'today';
}
}