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;
}
显示效果图:
aaarticlea/png;base64,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" alt="" />
js如何通过末次月经日期计算预产日期的更多相关文章
- sql存储过程中,如何根据指定日期、月数、天数推算预产日期
我这边有一个业务,根据某个指定日期,推算某个患者的预产日期 原理:比如孕产的预产日期的算法(预产日期 = 末次月经日期+ 10月+8天) 那么我们怎么通过存储过程来实现呢? 首先分析条件 需要一个指定 ...
- php 日期 - 计算2个日期的差值
/** * 日期-计算2个日期的差值 * @return int */ public function get_difference($date, $new_date) { $date = strto ...
- js 时间格式与时间戳的相互转换和计算几天后的日期是哪一天
//把日期转换成时间戳 function get_unix_time(time1){ var newstr = time1.replace(/-/g,'/'); var date = ...
- js时间戳转换日期格式和日期计算
一.时间戳转换日期 function formatDate(datetime) { // 获取年月日时分秒值 slice(-2)过滤掉大于10日期前面的0 var year = datetime.ge ...
- java日期比较,日期计算
版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 都是常用的日期之间的比较方法,供以后参考. 热身:获取当前时间 SimpleDateFormat df = new Simpl ...
- js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数
js计算2个日期相差的天数,两个日期相差的天数,日期相隔天数 >>>>>>>>>>>>>>>>>& ...
- js中计算两个日期之差
js中计算两个日期之差 var aBgnDate, aEndDate; var oBgnDate, oEndDate; var nYl ...
- js前台计算两个日期的间隔时间
js前台计算两个日期的间隔时间(时间差)原创 2017年08月28日 16:09:43 标签:javascript 1144在后台传来两个时间字段,从中解析出两个字符串类型的日期格式 需要在前台解析出 ...
- js计算两个日期的天数差值
js计算两个日期的天数差值 通过两个日期计算这两个日期之间的天数差值 /** * 计算天数差的函数,通用 * @param sDate1 * @param sDate2 * @returns {Num ...
随机推荐
- Spring Boot的数据访问 之Spring Boot + jpa的demo
1. 快速地创建一个项目,pom中选择如下 <?xml version="1.0" encoding="UTF-8"?> <project x ...
- Java SE HashMap的底层实现
1.hash散列算法 由于hashmap在存储过程中是数组加链表的存储过程,所以定义数组长度为16(建议是2的n次幂的长度),之后进行每个数组的地址都指向一个链表进行存储 hash表算法可对数组长度l ...
- vue模拟后端获取数据——json-server与express
转载自: https://blog.csdn.net/weixin_39728230/article/details/80293892 https://blog.csdn.net/lxkll/arti ...
- jq ‘’操作‘’伪元素
1. 伪元素非 dom 元素,jq无法操作,但可以间接影响. 2. 操作方式 2.1 修改类 <!DOCTYPE html> <html lang="en"> ...
- 解决在Vue项目中时常因为代码缩进导致页面报错的问题
前言 如果我们初次使用vue-cli来构建单页SPA应用,在撸代码的过程中有可能会遇到这种因为代码缩进导致 页面报错的问题,导致我们烦不胜烦.接下来我们就来看一看如何解决这个小问题... erro原因 ...
- 学习笔记8—MATLAB中奇异值处理办法
一.Inf 和 NAN处理 lnf: 无穷大值,可以用islnf或者isfinite函数处理 NAN:不是一个数字,可以用isnan函数来处理 或者: 类似于这种处理 mn(find(mn<= ...
- TEA加密/解密算法
在游戏项目中,一般需要对资源或数据进行加密保护,最简单高效的加密算法就是采用位与或之类的,但是比较容易被人分析出来.TEA加密算法不但比较简单,而且有很强的抗差分分析能力,加密速度也比较快.可以根据项 ...
- Linux 各种软件的安装-tomcat8+JDK篇
其实自己没搞过php,主要还是弄java,tomcat和java是必不可少的 首先安装JDK,注意linux和winodws的jdk完全不同,别下载错了. 先 yum update 把软件更新一下 j ...
- Python3之JSON数据解析实例:新闻头条 --Python3
一.接口相关 数据服务商:聚合数据(https://www.juhe.cn/) API部分文档: 完整API文档下载:https://files.cnblogs.com/files/qikeyishu ...
- 分享基于EF+WCF的通用三层架构及解析
本项目结合EF 4.3及WCF实现了经典三层架构,各层面向接口,WCF实现SOA,Repository封装调用,在此基础上实现了WCFContext,动态服务调用及一个分页的实例. 1. 项目架构图: ...