我想得到时差,就像“两天前发布的”。
我知道你可以用下面的方法得到区别。
human_time_diff( get_the_time('U'), current_time( 'timestamp' ) ) . ' ago';但我不想用这个
date_default_timezone_set('Australia/Melbourne'); // set the time zone
$timestamp = strtotime( $post->post_date ); // get timestamp
$now = time();// get the curren time
$time_passed = $timestamp - $now; // get the differnece
// display time
$min = $time_passed / 60;
if( $min < 60 ) {
return sprintf( avantgardia__( '%s min. ago', 'newspeak' ), intval( $min) );
}发布于 2018-10-16 03:09:59
尝试使用PHP中的date_diff()/DateTime::diff()函数:
// Object-oriented style.
$datetime1 = new DateTime( $post->post_date );
$datetime2 = new DateTime(); // current date
$interval = $datetime1->diff( $datetime2 );
echo $interval->format( '%a days old' );
// .. or procedural style.
$datetime1 = date_create( $post->post_date );
$datetime2 = date_create(); // current date
$interval = date_diff( $datetime1, $datetime2 );
echo $interval->format( '%a days old' );在PHP5.2.2或更高版本中,您可以比较日期("ago“与”date“),如下所示:
if ( $datetime1 < $datetime2 ) {
echo $interval->format( 'Published %a days ago.' );
} elseif ( $datetime1 > $datetime2 ) {
echo $interval->format( 'Will be published in %a days later.' );
} else {
echo 'Published today.';
}您可以看到$interval->format(...)在
https://wordpress.stackexchange.com/questions/316788
复制相似问题