PHP实现在线年龄计算器

news2024/11/25 7:12:22
1. 输入日期查询年龄 

  2. php laravel框架实现 代码
 /**
     * 在线年龄计算器
     */
    public function ageDateCal()
    {
        // 输入的生日时间
        $birthday = $this->request('birthday');
        // 当前时间
        $currentDate = date('Y-m-d');

        // 计算周岁
        $age = date_diff(date_create($birthday), date_create($currentDate))->y;

        // 计算虚岁
        $nominalAge = $age + 1;

        // 计算已生活天数
        $days = date_diff(date_create($birthday), date_create($currentDate))->days;

        // 计算已生活分钟数
        // 获取当前时间戳
        $currentTimestamp = time();
        // 转换日期字符串为时间戳
        $inputTimestamp = strtotime($birthday);
        // 计算时间差(以分钟为单位)
        $minutes = round(abs($currentTimestamp - $inputTimestamp) / 60);


        // 计算距离一百岁还有多少年多少月多少日合计多少天
        $hundredYears = date("Y-m-d H:i:s", strtotime("$birthday+100year"));
        $diffDate = $this->diffDate($currentDate, $hundredYears);
        $remainingYears = $diffDate['y'];
        $remainingMonths = $diffDate['m'];
        $remainingDays = $diffDate['d'];
        $remainingTotalDays = $diffDate['a'];

        // 计算下次生日的日期和天数
        $nextBirthday = date('Y-m-d', strtotime($birthday . ' + ' . ($age + 1) . ' years'));
        $daysToNextBirthday = date_diff(date_create($currentDate), date_create($nextBirthday))->days;
        $week = $this->getWeekDay($nextBirthday);

        $data = [
            'age' => $age,
            'nominalAge' => $nominalAge,
            'days' => $days,
            'minutes' => $minutes,
            'remainingYears' => $remainingYears,
            'remainingMonths' => $remainingMonths,
            'remainingDays' => $remainingDays,
            'remainingTotalDays' => $remainingTotalDays,
            'nextBirthday' => $nextBirthday,
            'week' => $week,
            'daysToNextBirthday' => $daysToNextBirthday,
        ];

        return $this->jsonSuc(['result' => $data]);
    }

    /**
     * 判断星期几
     * @param $time
     * @return string
     */
    public function getWeekDay($time)
    {
        $week_array = ['日', '一', '二', '三', '四', '五', '六'];
        $week = date("w", strtotime($time));
        return '星期' . $week_array[$week];
    }
/**
     * function:计算两个日期相隔多少年,多少月,多少天
     * param string $date1[格式如:2020-11-5]
     * param string $date2[格式如:2023-12-01]
     * return array array('年','月','日');
     */
    function diffDate($date1, $date2)
    {
        $datetime1 = new \DateTime($date1);
        $datetime2 = new \DateTime($date2);
        $interval = $datetime1->diff($datetime2);
        $time['y'] = $interval->format('%Y');
        $time['m'] = $interval->format('%m');
        $time['d'] = $interval->format('%d');
        $time['h'] = $interval->format('%H');
        $time['i'] = $interval->format('%i');
        $time['s'] = $interval->format('%s');
        $time['a'] = $interval->format('%a');    // 两个时间相差总天数
        return $time;
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/881918.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 多进程

目录 0x01 linux中特殊的进程 0x02 进程的标识 0x03 创建子进程 0x01 linux中特殊的进程 0号进程:idle进程,系统启动加载的进程1号进程:systemd进程,系统初始化,是所有进程的祖先进程 init2号进程:kthre…

Zabbix监控Kubernets获取节点模板报错

Preprocessing failed for: {“error”:"Request failed with status code 401: {“kind”:“Status”,“apiVersion”:“v1”,"met ad …1. Failed: Discovery error: TypeError: cannot read property 1 of null. Zabbix 监控 Kubernetes 出现采集错误,…

麒麟系统相关

创建虚拟机 镜像下载地址 选择合适的镜像,进入引导后注意不要选择默认的第一条,选择第二条进入安装程序。 root密码修改 使用命令 sudo passwd root 开启ssh 配置好网络后发现能ping通,但无法ssh连接,ps -ef | grep ssh 得…

基于docker实现主从复制

1:实现主从复制这个过程我是趟过坑的,后面是自己动手搞了几遍都成功了以后才开始决定记录的,(所以有的截图和上下文对不上的,比如说docker容器的名字对应不上,大家就用自己的就好),打…

“数据”对于仓库管理有多重要?!

仓库数据的重要性 做好仓库数据管理对企业的重要性不言而喻。通过有效地管理数据,企业可以更好地了解市场需求和库存情况,快速响应市场变化,提高库存周转率和客户满意度;此外,数据管理还可以帮助企业降低库存成本、减…

提升物流管理效率,快递批量查询高手软件助你一臂之力

物流管理中,准确跟踪和掌握快递的物流信息是非常重要的。而快递批量查询高手软件的出现,大大提高了物流管理的效率,为企业带来了诸多便利。 传统的快递查询方式往往需要手动逐个输入快递单号,费时费力且容易出错。而有了快递批量查…

源于传承,擎领未来,新架构、新工艺下的“换心工程”——金融电子化访中电金信副总经理、研究院院长况文川

当前,商业银行的经营环境正在发生着深刻而复杂的变化,在深化改革主旋律的指引下,数字化转型已成为我国商业银行普遍认同、广泛采用的战略性举措。核心系统作为承载银行业务的关键支柱系统,一直是各银行在金融科技建设中重点关注和…

Linux/centos上如何配置管理NFS服务器?

Linux/centos上如何配置管理NFS服务器? 1 NFS基础了解1.1 NFS概述1.2 NFS工作流程 2 安装和启动NFS服务2.1 安装NFS服务器2.2 启动NFS服务 3 配置NFS服务器和客户端3.1 配置NFS服务器3.2 配置NFS客户端 4 实际示例4.1 基本要求4.2 案例实现 1 NFS基础了解 NFS&…

Android UI自动化测试框架—SoloPi简介

1、UI自动化测试简介 软件测试简介 ​软件测试是伴随着软件开发一同诞生的,随着软件规模大型化,结构复杂化,软件测试也从最初的简单“调试”,发展到当今的自动化测试。 ​ 自动化测试是什么呢?自动化测试是把以人为…

解析固态光耦的独特特点和优势

固态光耦概述及其重要性 固态光耦是一种电子元件,具有独特的光电隔离功能,广泛应用于电气控制、通信和电力系统等领域。本文将深入探讨固态光耦的特点和优势,介绍它在市场中的重要性以及如何提高收录和首页排名。 高速、高精度的信号传输 …

Dolphinscheduler简单应用(二)—— 告警通知

一、本章目标 演示Dolphinscheduler的告警通知功能,将SQL任务组件查询返回结果集指定为邮件通知内容(支持为:表格、附件或表格附件三种模板)。二、 前提条件 已完成Dolphinscheduler部署 K8S集群部署,可参考文章:基于K8S环境部署Dolphinscheduler及简单应用其他部署形式,…

LeetCode236. 二叉树的最近公共祖先

236. 二叉树的最近公共祖先 文章目录 [236. 二叉树的最近公共祖先](https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-tree/)一、题目二、题解方法一:递归构建祖先数组方法二:一个非常方便的递归 一、题目 给定一个二叉树, 找到该树中…

性能测试|App性能测试需要关注的指标

一、Android客户端性能测试常见指标: 1、内存 2、CPU 3、流量 4、电量 5、启动速度 6、滑动速度、界面切换速度 7、与服务器交互的网络速度 二、预期标准指定原则 1、分析竞争对手的产品,所有指标要强于竞品 2、产品经理给出的预期性能指标数据…

青翼科技自研2路250MSPS DA回放FMC子卡模块

FMC150_V30是一款基于VITA57.1规范的2路125MSPS采样率16位分辨率AD采集、2路250MSPS采样率16位分辨率DA回放FMC子卡模块。该模块遵循VITA57.1规范,可直接与符合VITA57.1规范的FPGA载卡配合使用,板卡ADC器件采用ADI公司的AD9268芯片,板卡DAC器…

DDIM: DENOISING DIFFUSION IMPLICIT MODELS

DDIM: DENOISING DIFFUSION IMPLICIT MODELS 去噪扩散隐式模型DDIM预测噪声生成过程 实验 论文题目:Denoising Diffusion Implicit Models (DDIM) 论文来源:ICLR 2021 论文地址:https://arxiv.org/pdf/2010.02502.pdf 论文代码:ht…

“之江数据安全治理论坛”暨《浙江省汽车数据处理活动规定(专家建议稿)》研讨会顺利召开

研讨会主题 8月10日,“之江数据安全治理论坛”暨《浙江省汽车数据处理活动规定(专家建议稿)》研讨会在浙江大学计算机创新技术研究院举办。 本次研讨会的主题聚焦于“智能网联汽车的数据安全与数据合规”,邀请行业主管部门和数据…

iptables与firewall的命令的使用

iptables与firewall的命令的使用 安装firewall指令基本使用iptables简介命令查看 IPTABLES 版本查看当前 IPTABLES 规则添加规则修改规则删除某条规则加入白名单备份与还原定义策略 其他 安装 查看是否已安装: CentOS:rpm -qa | grep iptables 安装&am…

推荐一个好用的程序员工具箱,集成了代码生成,云剪切板以及AI能力

给大家推荐一个程序员必备网站,功能方便、实用,页面精美,下面是部分功能截图: 代码生成 云剪切板 工作日报生成 专利文章生成 毕业论文生成 地址: http://119.29.247.153/#/ai-tools​

计算机组成部分

计算机的五大部件是什么?答案:计算机的五大部件是运算器,控制器,存储器,输入设备和输出设备。 其中运算器和控制器合称中央处理器,是计算机的核心部件; 存储器是用来存储程序指令和数据用的&am…

免费AI作图项目:Fooocus,Github高星推荐,支持win私有化部署

我们都知道,Midjourney是需要付费使用的,而Stable Diffusion需要大量的学习成本,在这种背景下,Fooocus应运而生。 Fooocus 是一款图像生成软件。 Fooocus项目原地址:https://github.com/lllyasviel/Fooocus Stable …