PHP年龄计算 取得两个时间戳相差的年龄年月日显示
2019独角兽企业重金招聘Python工程师标准>>>
因需要显示对象的年龄,在网上找了几个看着不是太理想,自己写了一个,取得两个时间戳相差年龄的函数,显示结果为x岁x月x天,年月为零时,不显示年月,原理为:年月日相减,数不够的,按年和月的进位借数,最终得到年月日的时间值。
<?PHP
/** ==============================* 此方法由 mantye 提供 * http://my.oschina.net/u/223350 * @date 2014-07-22* ==============================* @description 取得两个时间戳相差的年龄* @before 较小的时间戳* @after 较大的时间戳* @return str 返回相差年龄y岁m月d天
**/
function datediffage($before, $after) {if ($before>$after) {$b = getdate($after);$a = getdate($before);}else {$b = getdate($before);$a = getdate($after);}$n = array(1=>31,2=>28,3=>31,4=>30,5=>31,6=>30,7=>31,8=>31,9=>30,10=>31,11=>30,12=>31);$y=$m=$d=0;if ($a['mday']>=$b['mday']) { //天相减为正if ($a['mon']>=$b['mon']) {//月相减为正$y=$a['year']-$b['year'];$m=$a['mon']-$b['mon'];}else { //月相减为负,借年$y=$a['year']-$b['year']-1;$m=$a['mon']-$b['mon']+12;}$d=$a['mday']-$b['mday'];}else { //天相减为负,借月if ($a['mon']==1) { //1月,借年$y=$a['year']-$b['year']-1;$m=$a['mon']-$b['mon']+12;$d=$a['mday']-$b['mday']+$n[12];}else {if ($a['mon']==3) { //3月,判断闰年取得2月天数$d=$a['mday']-$b['mday']+($a['year']%4==0?29:28);}else {$d=$a['mday']-$b['mday']+$n[$a['mon']-1];}if ($a['mon']>=$b['mon']+1) { //借月后,月相减为正$y=$a['year']-$b['year'];$m=$a['mon']-$b['mon']-1;}else { //借月后,月相减为负,借年$y=$a['year']-$b['year']-1;$m=$a['mon']-$b['mon']+12-1;}}}return ($y==0?'':$y.'岁').($m==0?'':$m.'个月').($d==0?'':$d.'天');
}
?>
转载于:https://my.oschina.net/u/223350/blog/293687
PHP年龄计算 取得两个时间戳相差的年龄年月日显示相关推荐
- PHP计算两个时间戳相差多少个月
$strtotime=strtotime('2018-01-06'); $y=date('Y',$strtotime); $ys=date('Y',time()); $m=(int)date('m', ...
- JS计算两个时间相差多久,相差年,月,日,小时,分钟
计算一个时间戳距离当前的时间,例如: 几年前,几个月前,几天前,几小时前,几分钟前,刚刚. 输出效果 代码: function getDistanceDay(time) {let stime = ne ...
- 如何计算CDS view里两个时间戳之间的天数间隔
ABAP透明表里的时间戳,数据类型为dec: 有个需求:计算这两个时间戳之间的天数间隔,丢弃时间戳年-月-日8位后面的小时:分钟:秒. 举个例子:如果时间戳是20180918173132,丢弃1731 ...
- php两个时间戳相隔多少天
根据需求不同 算出相隔时间天数也不同 需求一 2020-4-26 23:59:59 距离2020-4-27 0:00:00 时间相隔1天 因为26到27号 不管是差几秒 都是间隔1天 $day1= 1 ...
- java获取时间戳(计算两个时间相差几天几小时几秒,获取当前日期是周几。。。)
java时间相关 博主所有博客都是验证过的 获取一个时间的时间戳 //获取当前时间戳Calendar cal1 = Calendar.getInstance();cal1.setTime(new Da ...
- java 日期只计算年月日大小_Java按自然月计算两个日期相差的年月日?
曾经我以为计算两个日期之差很简单,在给我的团队成员分配任务时,也觉得就是调用一个方法的问题,可是当我发现结果老是不对时,才发现原来JDK 提供的API中根本没有这样的方法,我也很恼火,也怪不得不少牛人 ...
- php计算两个日期之间的小时数,PHP_php 计算两个时间戳相隔的时间的函数(小时),这个是可以具体到小时的php代 - phpStudy...
php 计算两个时间戳相隔的时间的函数(小时) 这个是可以具体到小时的php代码 复制代码 代码如下: /* Author: 杨宇 yangyu@sina.cn */ //输入两个时间戳,计算差值,也 ...
- php 日期相减 时分秒,PHP计算两个时间戳间隔的日时分秒的代码实例
关于PHP计算两个时间戳之间相差的日时分秒的代码 下面是PHP计算两个时间戳间隔的日时分秒的代码实例的相关内容,文章教程主要讲述与时间戳 间隔 分秒 相关的一些技术与知识,更多的内容欢迎大家访问htt ...
- 使用TIMESTAMPDIFF计算两个时间戳之间的时间间隔需要注意的细节
问题阐述 A表中有字段如下: DROP TABLE IF EXISTS `A`; CREATE TABLE IF NOT EXISTS `A` (`userId` int(10) unsigned N ...
最新文章
- Solidworks2017安装与破解
- 为Office365增加密码过期自动提醒功能
- 《JAVA与模式》之适配器模式
- 2011软件设计大赛
- 我的机器学习入门之路(中)——深度学习(自然语言处理)
- oracle迁移postsql的,osdba's blog : Oracle迁移PostgreSQL系列文章之二:merge语句
- python 通信模块_python 多进程通信模块
- Applet、Scriptlet与Servlet
- Linux 网络配置 ifconfig、ip、netstat 命令的使用
- Linux 命令(134)—— groupmod 命令
- commons-fileupload的ServletFileUpload类
- (转)主成分分析(Principal components analysis)-最大方差解释
- 右键tomcat 选择 add and remove,出现的对话框里面没有我们的项目解决方法
- Hat’s Words HDU - 1247
- cesium雷达图_Cesium专栏-气象雷达动图(附源码下载)
- mac 添加右键 复制路径到剪贴版
- 8.18 @烤仔建工 | 抓住夏天的尾巴,和烤仔一起打造秘密花园吧
- dp主机_怎样设置显示器DP接口信号优先?
- 将微信聊天记录转成txt文件的最实用方法
- Flex和Flash一起使用开发项目各取所长