显示QQ亲子相册那样的年龄格式

单独制作了一个日记本来记录关于孩子的一些事情,为方便浏览需要将 post 发布日期改成类似 QQ 亲子相册那样,根据孩子出生日期和照片拍摄日期计算出来年龄,形如:生出、7天、1个月、 3岁5个月、5岁生日。如下图:

QQ亲子相册年龄计算

这个功能实现起来需要指定出生日期、获取Post的发布日期,剩下的就是日期判断,代码大概如下,放置于主题的 function.php 文件中:

//brave_years_of_age
function brave_years_of_age() {
$birth_date = date_create('2016-5-18'); //出生日期
$post_date = date_create(get_the_time('Y-m-d')); //当前 post 的发布日期
$interval = date_diff($birth_date, $post_date); //发布日期和出生日期的间隔

if ( $interval->format('%y') == 0 ) {
if ( $interval->format('%m')== 0 ) {
if ( $interval->format('%d') == 0 ) {
echo $interval->format('出生');
} else if ( $interval->format('%d') > 0 ) {
echo $interval->format('%d天');
}
} else if ( $interval->format('%m')> 0 ) {
echo $interval->format('%m个月');
}
} else if ( $interval->format('%y') > 0 ) {
if ( $interval->format('%m')== 0 ) {
if ( $interval->format('%d') == 0 ) {
echo $interval->format('%y岁生日');
} else if ( $interval->format('%d') > 0 ) {
echo $interval->format('%y岁');
}
} else if ( $interval->format('%m')> 0 ) {
echo $interval->format('%y岁%m个月');
}
}
}

在需要显示的地方加上下面这段输出即可:

<?php echo brave_years_of_age(); ?>

发表评论

评论(6)

  1. 姜辰 via Firefox 78

    专业!

  2. 响石潭 via Chrome 80

    学习,节日快乐哈~~

    1. 秩秩斯干

      @响石潭 谢谢,同乐同乐 😊

  3. wys via Safari 14

    博主的LOGO不错哦!自己设计的吗?

    1. 秩秩斯干

      @wys 😊

  4. 叶开楗 via Chrome 94

    可以的,我以为是做成QQ空间相册成长日记那种模板 哈哈!