/**
* 年龄转生日(模糊结果)
* @parameter int age(年龄)
* @parameter string symbol(分隔符)
* @return string (yyyy*mm*dd)
* @author he
*/
private function agetobirthday($age,$symbol='-')
{
$age = $age==0?25:$age;
$nowyear = date("Y",time());
$year = $nowyear-$age;
$monthArr = [];
for ($i=1;$i<13;$i++){
$monthArr[] = $i<10?'0'.$i:$i;
}
$dayArr = [];
for ($i=1;$i<29;$i++){
$dayArr[] = $i<10?'0'.$i:$i;
}
$month_key = array_rand($monthArr,1);
$month = $monthArr[$month_key];
$date_tmp_stamp = strtotime($year.'-'.$month);
$day = '';
if( $month=='02' && date("t",$date_tmp_stamp)=='29' ) {
$dayArr = array_merge($dayArr,['29']);
$day_key = array_rand($dayArr,1);
$day = $dayArr[$day_key];
} else if ( $month=='02' && date("t",$date_tmp_stamp)=='28' ){
$day_key = array_rand($dayArr,1);
$day = $dayArr[$day_key];
} else if( in_array($month, ['01','03','05','07','08','10','12']) ) {
$dayArr = array_merge($dayArr,['29','30','31']);
$day_key = array_rand($dayArr,1);
$day = $dayArr[$day_key];
} else {
$dayArr = array_merge($dayArr,['29','30']);
$day_key = array_rand($dayArr,1);
$day = $dayArr[$day_key];
}
return $year.$symbol.$month.$symbol.$day;
} /**
* 生日转年龄
* @author he
* @parameter birthday:yyyy-mm-dd
* @return str
*/
private function birthdaytoage($birthday)
{
$age = 0;
$year = date('Y',strtotime($birthday));
$month = date('m',strtotime($birthday));
$day = date('d',strtotime($birthday)); $now_year = date('Y');
$now_month = date('m');
$now_day = date('d'); if ($now_year > $year) {
$age = $now_year - $year - 1;
if ($now_month > $month) {
$age++;
} else if ($now_month == $month) {
if ($now_day >= $day) {
$age++;
}
}
}
if(empty($birthday)){
$age = 26;
}
return $age;
}

PHP--年龄转生日、生日转年龄的更多相关文章

  1. oracle中SQL根据生日日期查询年龄的方法

    方法:SELECT Trunc(MONTHS_BETWEEN(SYSDATE,BIRTH_DATE)/12) FROM 某表 Trunc函数在这里对带有小数位数的数字取整数部分: SYSDATE为or ...

  2. js根据生日计算出年龄

    /*根据出生日期算出年龄*/ function jsGetAge(strBirthday){ var returnAge; var strBirthdayArr=strBirthday.split(& ...

  3. 集合练习 练习:每一个学生Student都有一个对应的归属地定义为String类型。学生属性:姓名,年龄 注意:姓名和年龄相同的视为同一个学生。保证学生的唯一性。 1、描述学生。 2、定义Map容器,将学生作为键,地址作为值存入集合中。 3、获取Map中的元素并进行排序。

    package com.rf.xs.map; public class Student implements Comparable<Student> { private String na ...

  4. 问题:oracle 计算年龄;结果:oracle中根据生日计算年龄的问题

    SELECT FLOOR(MONTHS_BETWEEN(SYSDATE,birthday)/12,1) FROM ltteacherinfo where name='朱雪东111'这个报错ORA 00 ...

  5. 微信小程序根据生日获取年龄

    // 根据出生日期计算年龄周岁 传参格式为1996-06-08 // 根据出生日期计算年龄周岁 传参格式为1996-06-08 function getAge(strBirthday) { var r ...

  6. 第七届蓝桥杯javaB组真题解析-生日蜡烛(第二题)

    题目 /* 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填写他开始 ...

  7. 蓝桥杯比赛javaB组练习《生日蜡烛》

    题目如下: 生日蜡烛 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛. 现在算起来,他一共吹熄了236根蜡烛. 请问,他从多少岁开始过生日party的? 请填写他开始 ...

  8. Java 计算年龄

    public static String getAgeTxt(String birthTime,String beginTime,int level){ if(StringUtils.isBlank( ...

  9. Excel中最精确的计算年龄的公式

    身份证算年龄 假设A1是身份证号所在单元格 =IF(MONTH(NOW())<INT(MID(A1,11,2)),INT(YEAR(NOW())-INT(MID(A1,7,4)))-1,IF(M ...

  10. 工作中遇到的问题——mysql关于年龄,性别的统计

    终于暂时闲下来了,一个项目加班加点一年多,前面太忙就顾不上博客了,慢慢的就懈怠了,最近算是暂时闲下来了,项目已经验收进入后期维护阶段,每天空余的时间也多了,想重新拾起博客,不求写什么高深的东西,以后就 ...

随机推荐

  1. Python全栈开发:css引入方式

    css的四种引入方式: 1.行内式 行内式是在标记的style属性中设定CSS样式.这种方式没有体现出CSS的优势,不推荐使用. <p style="color: red;backgr ...

  2. Python全栈开发:递归实例

    #!/usr/bin/env python # -*- coding;utf-8 -*- """ 递归不能无限,python会限制递归深度,递归主要用于费布拉切数列 &q ...

  3. vue项目中,单页图片过多,使用懒加载

    最近做项目,一页图片很多,加载的时候效果很差. 通过学习借鉴其他大神的方法,使用了插件vue-lazyload,使用这个插件,界面更美观了,加载的效果好起来. 安装 npm i vue-lazyloa ...

  4. Django如何自定义漂亮的404页面

    目录 在templates 中添加404.html 修改settings.py 在templates 中添加404.html <!DOCTYPE html PUBLIC "-//W3C ...

  5. golang的表格驱动测试

    一.leetcode的算法题 package main import ( "fmt" "strings" ) func lengthOfNonRepeating ...

  6. git 命令行(四)-推送分支到远程

    在本地新建一个分支: git branch newBranch 切换到你的新分支: git checkout newBranch 创建并切换到新分支: git checkout -b newBranc ...

  7. 转: Linux题目

    源地址:http://blog.csdn.net/zcsylj/article/details/6799639 一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导 ...

  8. 01_springmvc基础入门

    一.springmvc概述 Spring MVC是基于Model2实现的技术框架,在Spring MVC中,Action被称为Controller(控制器).Spring的Web框架围绕Dispatc ...

  9. python3-常用模块之openpyxl(2)封装

    简单封装了下openpyxl,仅供参考,openpyxl版本2.6.2#操作存在的文件from openpyxl import Workbookfrom openpyxl import load_wo ...

  10. vue @click传字符串

    参考: https://www.cnblogs.com/springlight/p/5782637.html 关键:使用转译字符 \ 来转译引号 方法一. 直接传递: var tem = " ...