PHP时间轴函数

我们会经常看见现在许多网站的留言或者评论的时间变得十分有趣,刚刚、3分钟前、1天前等等人性化的时间轴

好吧,我承认这个函数是转载的,部分按照自己的需求修改了一点点。

 

/**
 * 时间轴函数,单位以unix时间戳计算
 * @param int $pubtime 发布时间
 */
function timeShaft($pubtime) {
	$time = time ();
	/** 如果不是同一年 */
	if (idate ( 'Y', $time ) != idate ( 'Y', $pubtime )) {
		return date ( 'Y年m月d日', $pubtime );
	}

	/** 以下操作同一年的日期 */
	$seconds = $time - $pubtime;
	$days = idate ( 'z', $time ) - idate ( 'z', $pubtime );

	/** 如果是同一天 */
	if ($days == 0) {
		/** 如果是一小时内 */
		if ($seconds < 3600) {
			/** 如果是一分钟内 */
			if ($seconds < 60) {
				if (3 > $seconds) {
					return '刚刚';
				} else {
					return $seconds . '秒前';
				}
			}
			return intval ( $seconds / 60 ) . '分钟前';
		}
		return idate ( 'H', $time ) - idate ( 'H', $pubtime ) . '小时前';
	}

	/** 如果是昨天 */
	if ($days == 1) {
		return '昨天' . date ( 'H:i', $pubtime );
	}

	/** 如果是前天 */
	if ($days == 2) {
		return '前天 ' . date ( 'H:i', $pubtime );
	}

	/** 如果是7天内 */
	if ($days < 7) {
		return $days. '天前';
	}

	/** 超过7天 */
	return date ( 'n月j日 H:i', $pubtime );
}

效果图

 

 

1s

作者:Yinchiang

i'm X

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

评论审核已启用。您的评论可能需要一段时间后才能被显示。