zoukankan      html  css  js  c++  java
  • 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;
            }

    显示效果图:

  • 相关阅读:
    css文本溢出省略号
    SQL语句判断是否为今天或昨天
    git 常用命令
    SwitchHosts—hosts管理利器
    ORACLE ERP consolidation流程(一)
    R12 AR INVOICE 接口表导入
    FA模块的10个API范例
    使用dbms_profiler包测试存储过程性能
    WebADI应用到Office 2016 64-bit
    Oracle EBS主界面的Top Ten List
  • 原文地址:https://www.cnblogs.com/xielong/p/8064602.html
Copyright © 2011-2022 走看看