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;
            }

    显示效果图:

  • 相关阅读:
    eclipse和jdk版本对应问题
    2017第49周四黑珍珠的价值
    如何写python插件、包,放到pypi上供其他人使用
    zerorpc的安装
    httplib 和 httplib2区别之 gzip解压
    mac下报错 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
    使用zerorpc踩的第一个坑:
    Jmeter Summariser report及其可视化
    sublime快捷键设置
    来,来,来,哥哥告诉你一个把文件搞大的方法
  • 原文地址:https://www.cnblogs.com/xielong/p/8064602.html
Copyright © 2011-2022 走看看