
Menukar Cap Masa kepada Masa Lalu yang Boleh Dibaca Manusia dalam PHP
Dalam PHP, anda boleh menukar cap masa kepada rentetan masa berlalu menggunakan fungsi time_elapsed_string().
Fungsi Definisi
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 34 35 36 37 38 39 40 | function time_elapsed_string( $datetime , $full = false) {
$now = new DateTime;
$ago = new DateTime( $datetime );
$diff = $now ->diff( $ago );
$diff ->w = floor ( $diff ->d / 7);
$diff ->d -= $diff ->w * 7;
$string = [
'y' => 'year' ,
'm' => 'month' ,
'w' => 'week' ,
'd' => 'day' ,
'h' => 'hour' ,
'i' => 'minute' ,
's' => 'second' ,
];
foreach ( $string as $k => & $v ) {
if ( $diff -> $k ) {
$v = $diff -> $k . ' ' . $v . ( $diff -> $k > 1 ? 's' : '' );
} else {
unset( $string [ $k ]);
}
}
if (! $full ) $string = array_slice ( $string , 0, 1);
return $string ? implode( ', ' , $string ) . ' ago' : 'just now' ;
}
|
Salin selepas log masuk
Penggunaan
1 2 3 | echo time_elapsed_string( '2013-05-01 00:22:35' );
echo time_elapsed_string( '@1367367755' );
echo time_elapsed_string( '2013-05-01 00:22:35' , true);
|
Salin selepas log masuk
Atas ialah kandungan terperinci Bagaimana untuk Menukar Cap Waktu PHP kepada Rentetan 'Masa Lalu' yang Boleh Dibaca Manusia?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!