PHP头条
热点:

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


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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

// 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],

);

}

www.phpzy.comtrue/php/24100.htmlTechArticlephp将日期格式转换成xx天前的格式 这段代码可以把时间格式化成3天前,5秒前,2年前的形式 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 // convert a date into a stri...

相关文章

PHP之友评论

今天推荐