我的目标是只在当天添加帖子时使用human\\u time\\u diff。如果不是,我想恢复到传统的时间戳(第二个代码)。我不确定这将如何实现,需要一些帮助。我已经提供了下面将要组合的两个代码。
获取发布时间和当前时间(即25分钟前)之间的差异的代码:
<?php echo human_time_diff( get_the_time(\'U\'), current_time(\'timestamp\') ) . \' ago\'; ?>
声明该职位的代码是在X日期X时间添加的:
<?php the_time(\'F j, Y\'); ?> at <?php the_time(\'g:i a\'); ?>
最合适的回答,由SO网友:Pat J 整理而成
您可以获取帖子的创建日期/时间,并将其与当前日期/时间进行比较。
global $post;
$now = time(); // Current time in seconds since Epoch
$post_created = strtotime( $post->post_date ); // post\'s creation date in seconds since Epoch, so we\'re comparing apples to apples
$one_day_in_seconds = 24*60*60;
if ( ( $now - $post_created ) < $one_day_in_seconds ) {
echo human_time_diff( get_the_time(\'U\'), current_time(\'timestamp\') ) . \' ago\';
} else {
the_time( \'F j, Y \\a\\t g:i a\' );
}
引用PHP。净值:
time()
strtotime()
法典:
Post Object (适用于post_date
)