• js如何通过末次月经日期计算预产日期


    计算方式有两种

    1)直接添加280天

    2)添加10月8天(参数传递,可用改成9月7天等)

    js中引入文件

    <script src="js/jquery.min.js"></script> 

    html添加标签

     末次月经日期: <input type="date" id="MenstrualDate"  onchange="MenstruDateChange()" /> <br/>
       预产日期1: <input type="date" id="ProductDate1"/> <br/>
       预产日期2: <input type="date" id="ProductDate2"/> <br/>

    js添加方法

            //预产日期改变事件
            var MenstruDateChange = function ()
            {
                //获取末次月经日期
                var menstruDate = $('#MenstrualDate').val();
                //计算预产日期(方法一)
                var productDate1 = addDate1(menstruDate,280);
                //计算预产日期(方法二)
                var productDate2 = addDate2(menstruDate, 10, 8);
                //设置预产日期
                $('#ProductDate1').val(productDate1);  
                $('#ProductDate2').val(productDate2);         
            }
    
            ///计算预产日期(方法一)
            //参数1:要转化日期
            //参数2:要添加的天数
            //注:(减去多少天,直接传递负数值)
            function addDate1(date, days)
            {
                //转化为日期对象
                var d = new Date(date);
                //设置日期(原有日期+增加的天数)
                d.setDate(d.getDate() + days);
                //获取计算后日期的年份
                var year = d.getFullYear();
                //获取计算后日期的月份
                var month = d.getMonth() + 1;
                //获取计算后日期的天数(多少号)
                var day = d.getDate();
                //拼接成日期格式
                var dateStr = year + '-' + getFormatDate(month) + '-' + getFormatDate(day);
                return dateStr;
            }
    
            //计算预产日期(方法二)
            //参数1:要转化的日期
            //参数2:增加的月份
            //参数3:增加的天数
            function addDate2(date, months, days) {
                //转化为日期对象
                var d = new Date(date);
                //设置日期(原有月份+增加的月份)
                d.setMonth(d.getMonth() + months);
                //设置日期(原有日期+增加的天数)
                d.setDate(d.getDate() + days);
                //获取计算后日期的年份
                var year = d.getFullYear();
                //获取计算后日期的月份
                var month = d.getMonth() + 1;
                //获取计算后日期的天数(多少号)
                var day = d.getDate();
                //拼接成日期格式
                var dateStr = year + '-' + getFormatDate(month) + '-' + getFormatDate(day);
                return dateStr;
            }
    
            //格式化日期的月份或天数的显示(小于10,在前面增加0)
            function getFormatDate(value) {
                if (value == undefined || value == "") {
                    return '';
                }
                var str = value;
                if (parseInt(value) < 10) {
                    str = '0' + value;
                }
                return str;
            }

    显示效果图:

  • 相关阅读:
    Python3学习笔记27-ConfigParser模块
    Python3学习笔记26-unittest模块
    HTML学习笔记09-列表
    HTML学习笔记08-表格
    [hdu1402]A * B Problem Plus(FFT模板题)
    [bzoj2179]FFT快速傅立叶
    [bzoj3884]上帝与集合的正确用法
    [ural1132]Square Root(cipolla算法)
    MD5算法的c++实现
    DES算法的c++实现
  • 原文地址:https://www.cnblogs.com/xielong/p/8064602.html
Copyright © 2020-2023  润新知