计算周岁,有了这个就可以知道自己到底多大了,我23,哈哈

本文介绍了一个简单的JavaScript函数,用于计算一个人的周岁。通过对比出生日期与当前日期来得出准确的年龄,适用于各种应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

计算周岁,有了这个就可以知道自己到底多大了,我23,哈哈

最近的业务就是订票,于是乎就有了‘成人’->‘儿童’->‘婴儿’的分类,所以就必须得计算周岁了呀。

一开始我想的超级复杂,要计算 (出生日期->现在) 所差的年月日,还要考虑到闰年平年!!!想想都抓狂。。。还好百度够强大,在csdn遇到了大神这里的一段代码,果然厉害。然后我加了一些注释,进行了测试,简单粗暴,其实很简单的道理,可是我却想不到,真是惭愧。

直接附代码啦,有基础就能看懂。

function fullYear(str) //str的格式:2013-02-16
    {
        var b =  str.split('-'); // b = ['2013','02','16']
        if(b==null){return false};
        var birth= new Date(b[0],b[1]-1,b[2]); // Sat Feb 16 2013 00:00:00 GMT+0800 (中国标准时间)
        if(birth.getFullYear()==b[0]&&(birth.getMonth()+1)==b[1]&&birth.getDate()==b[2])
        {
            var current = new Date();
            var age = current.getFullYear()-b[0];//相差的年
            if(current.getMonth()>birth.getMonth()){ //如果当前所在月份>出生当月,那年龄就是整年之差
                return age;
            }
            if(current.getMonth()==birth.getMonth()){ //如果当前所在月份=出生当月,判断日
                if(current.getDate()>=birth.getDate()){ // 如果当前所在的日>出生日 age=整年之差
                    return age;
                }else{  //否则 ,还没过生日,周岁-1
                    return age-1;
                }
            }
            if(current.getMonth()<birth.getMonth()){ //当然  如果当前月<出生月,生日还没到,所以周岁-1
                return age-1;
            }
        }
        return("输入的日期格式错误!");
    }
    console.log('周岁:'+fullYear("2013-02-16"));
    console.log('周岁:'+fullYear("1993-12-31"));

代码十分清晰,废话不多说,我要继续项目了,又有新任务啦~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值