当前位置:首页 > 后端

PHP年龄计算

Z先生7年前 (2019-09-23)后端792

通过出生日期,再传入指定日期计算年龄,不传入则计算到今天的时间。

        /**
	 * 计算年龄
	 * @param  $birthday 出生时间 Y-m-d
	 * @param  $data 当前时间 Y-m-d
	 **/
	function getAge($birthday, $date = '') {
                $birthday = strtotime($birthday);
		if (!$birthday) {
			return 0;
		}

		$date = strtotime($date);
		$date = !$date ? time() : $date;

		//格式化出生时间年月日
		$byear = date('Y', $birthday);
		$bmonth = date('m', $birthday);
		$bday = date('d', $birthday);

		//格式化当前时间年月日
		$tyear = date('Y', $date);
		$tmonth = date('m', $date);
		$tday = date('d', $date);

		//开始计算年龄
		$age = $tyear - $byear;
		if ($bmonth > $tmonth || $bmonth == $tmonth && $bday > $tday) {
			$age--;
		}
		return $age;
	}


分享给朋友:

相关文章

困扰了很久的PHP跨域问题

其实这个问题一直是不存在的,只是自己因为各种配置吧,导致了这个问题一直没有解决。现在就解决思路提供如下: 1、php端,主要是Access-Control-Allow-Headers选项……

thinkphp6模型中联合主键、中间表调用的写法

前言 Thinkphp框架是不错,但是一些特殊用法几乎找不到文档。 模型就新手来说感觉会很麻烦,但是实际上习惯之后会很方便,比如入库和出库的自动格式化,再比如安全的入库。而且模型会让你养成良好的开发习…

Composer常见故障处理

Segmentation fault (core dumped)错误错误详情Composer在自升级和安装包时均报:Segmentation fault (core dumped)错误 检查分析运行…

thinkphp6批量软删除

关于thinkphp软删除的理解软删除核心逻辑数据库设置软删除字段,并将类型定义为int(10)软删除核心代码```    // 自动时间戳类型未int    …

php之redis乐观锁,秒杀抢购锁库存应用。

直接上代码<?php // 连接Redis $redis = new Redis(); $redis->connect('127.0.…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。