php日期格式转换,php将日期格式转换成xx天前的格式

本文实例讲述了php将日期格式转换成xx天前格式的方法。分享给大家供大家参考。具体如下:

这段代码可以把时间格式化成3天前,5秒前,2年前的形式

// convert a date into a string that tells how long ago

// that date was.... eg: 2 days ago, 3 minutes ago.

function ago($d) {

$c = getdate();

$p = array('year', 'mon', 'mday', 'hours', 'minutes', 'seconds');

$display = array('year', 'month', 'day', 'hour', 'minute', 'second');

$factor = array(0, 12, 30, 24, 60, 60);

$d = datetoarr($d);

for ($w = 0; $w < 6; $w++) {

if ($w > 0) {

$c[$p[$w]] += $c[$p[$w-1]] * $factor[$w];

$d[$p[$w]] += $d[$p[$w-1]] * $factor[$w];

}

if ($c[$p[$w]] - $d[$p[$w]] > 1) {

return ($c[$p[$w]] - $d[$p[$w]]).' '.$display[$w].'s ago';

}

}

return '';

}

// you can replace this if need be.

// This converts my dates returned from a mysql date string

// into an array object similar to that returned by getdate().

function datetoarr($d) {

preg_match("/([0-9]{4})(\\-)([0-9]{2})(\\-)([0-9]{2})([0-9]{2})(\\:)([0-9]{2})(\\:)([0-9]{2})/",$d,$matches);

return array(

'seconds' => $matches[10],

'minutes' => $matches[8],

'hours' => $matches[6],

'mday' => $matches[5],

'mon' => $matches[3],

'year' => $matches[1],

);

}

希望本文所述对大家的php程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值