计算方式有两种

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

显示效果图:

aaarticlea/png;base64,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" alt="" />

js如何通过末次月经日期计算预产日期的更多相关文章

  1. sql存储过程中,如何根据指定日期、月数、天数推算预产日期

    我这边有一个业务,根据某个指定日期,推算某个患者的预产日期 原理:比如孕产的预产日期的算法(预产日期 = 末次月经日期+ 10月+8天) 那么我们怎么通过存储过程来实现呢? 首先分析条件 需要一个指定 ...

  2. php 日期 - 计算2个日期的差值

    /** * 日期-计算2个日期的差值 * @return int */ public function get_difference($date, $new_date) { $date = strto ...

  3. js 时间格式与时间戳的相互转换和计算几天后的日期是哪一天

    //把日期转换成时间戳 function get_unix_time(time1){    var newstr = time1.replace(/-/g,'/');     var date =  ...

  4. js时间戳转换日期格式和日期计算

    一.时间戳转换日期 function formatDate(datetime) { // 获取年月日时分秒值 slice(-2)过滤掉大于10日期前面的0 var year = datetime.ge ...

  5. java日期比较,日期计算

    版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 都是常用的日期之间的比较方法,供以后参考. 热身:获取当前时间 SimpleDateFormat df = new Simpl ...

  6. js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数

    js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数 >>>>>>>>>>>>>>>>>& ...

  7. js中计算两个日期之差

    js中计算两个日期之差            var aBgnDate, aEndDate;            var oBgnDate, oEndDate;            var nYl ...

  8. js前台计算两个日期的间隔时间

    js前台计算两个日期的间隔时间(时间差)原创 2017年08月28日 16:09:43 标签:javascript 1144在后台传来两个时间字段,从中解析出两个字符串类型的日期格式 需要在前台解析出 ...

  9. js计算两个日期的天数差值

    js计算两个日期的天数差值 通过两个日期计算这两个日期之间的天数差值 /** * 计算天数差的函数,通用 * @param sDate1 * @param sDate2 * @returns {Num ...

随机推荐

  1. requests:json请求中中文乱码处理

    requests库中,在处理json格式的请求时调用的json.dumps方法参数ensure_ascii默认为True.表示序列化时对中文默认使用的ascii编码.如果想要显示中文,则将此参数的值改 ...

  2. 力扣(LeetCode)965. 单值二叉树

    如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树. 只有给定的树是单值二叉树时,才返回 true:否则返回 false. 思路 递归 java版 /** * Definition for ...

  3. linux基础02-bash特性

    Linux的行结束符是:[$] Windows的行结束符是:[$+回车] 目录管理:ls.cd.pwd.mkdir.rmdir.tree 文件管理:touch.stat.file.rm.cp.mv.n ...

  4. MYSQL常用函数(时间和日期函数)Java中

    CURDATE()或CURRENT_DATE() 返回当前的日期 CURTIME()或CURRENT_TIME() 返回当前的时间 DATE_ADD(date,INTERVAL int keyword ...

  5. Mac批量转换mp3为caf

    创建一个sh文件,输入如下代码后运行. 遍历文件夹中的mp3然后使用afconvert命令进行转换. #!/bin/bash for i in *.mp3; do afconvert $i " ...

  6. jquery 手机获取验证码计时

    html: <input type="text" class="codeText" id="txtverifycode" />  ...

  7. Asp.net core 学习笔记 ( HttpClient )

    2018-09-18 core 2.1 之后有新的方案咯 http://www.talkingdotnet.com/3-ways-to-use-httpclientfactory-in-asp-net ...

  8. 虚拟机vmnet0、vmnet1和vmnet8的区别

    vmnet0,实际上就是一个虚拟的网桥 vmnet0,实际上就是一个虚拟的网桥,这个网桥有很若干个端口,一个端口用于连接你的Host,一个端口用于连接你的虚拟机,他们的位置是对等的,谁也不是谁的网关. ...

  9. Nginx自学笔记

    Nginx相关 标签(空格分隔): nginx 享学 安装部署 通过源代码的方式安装 使用 ./sbin/nginx #启动 ./sbin/nginx -t #检查是否有错 ./sbin/nginx ...

  10. css图片的全屏显示代码-css3

    <!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" ...