当前位置:首页 > 后端 > 正文内容

PHP年龄计算

Z先生6年前 (2019-09-23)后端675

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

        /**
	 * 计算年龄
	 * @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;
	}


分享给朋友:

相关文章

关于微信表情(emoji表情)入Mysql的解决方案(PHP版)

emoji是4个字节存储,而utf8_general_ci最大支持3字节,解决方案有两个:1、mysql库的由utf8改成utf8mb4;2、使用出入库编码转换,比如:base64编码、urlenco...

php json_decode转换为null的问题解决

在做某一程序的时候,前台组装的json数组,为了能传到后台,使用JSON.stringify将其转换成字符串后后端接收。但是接收后,死活转换不了数组,使用json_last_error()输出错误后,...

php获取文件mime的方法,相对完整,并且已经测试

已经经过测试也相对完整,优先自带类和方法,如果自带类或者方法没有开启的情况下,通过文件扩展名实现,文件扩展名关联了176种如果实在没有开启相关组件也没有匹配到,那么就返回:application/oc...

【转】Swoole和Workerman到底选谁?

【转】Swoole和Workerman到底选谁?

Swoole:面向生产环境的 PHP 异步网络通信引擎       使 PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTT...

Composer的初步使用以及Composer切换国内源(阿里云)

Composer安装(Windows系统)下载:https://getcomposer.org/Composer-Setup.exe一步步安装即可。需要注意的是你需要开启 openssl 配置,我们打...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。
请先 登录 再评论,若不是会员请先 注册