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 ...
随机推荐
- win 10 安装visual studio 2013
下载地址: http://download.microsoft.com/download/9/3/E/93EA27FF-DB02-4822-8771-DCA0238957E9/vs2013.5_ult ...
- JavaSE习题 第七章 常用实用类
问答题 1.怎样实例化一个Calendar对象? Calendar ca=Calendar.getInstance(); 2.Calendar对象调用set(1949,9,1)设置的年月日分别是多少? ...
- Java的CountDownLatch和CyclicBarrier的理解和区别
CountDownLatch和CyclicBarrier的功能看起来很相似,不易区分,有一种谜之的神秘.本文将通过通俗的例子并结合代码讲解两者的使用方法和区别. CountDownLatch和Cycl ...
- JavaScript 局部刷新
JavaScript局部刷新具体代码展示如下 1. #tabList代表需要刷新的元素的对象 2. 第二个#tabList 如果后面有第三个元素,那么后面需要加>*符号,如果不加,容易造成C ...
- [转][osg][QT]osg与QT界面结合的简单例子
//QT += core gui opengl //LIBS += -losgViewer -losgDB -losgUtil -losg -lOpenThreads -losgGA -losgQt ...
- TypeError: add() argument after * must be an iterable, not Settings的错误原因
在抄代码的时候发现有个错误: TypeError: add() argument after * must be an iterable, not Settings 看不懂,百度才知道原因,原来是第2 ...
- kafka+docker+python
昨天晚上刚刚才花3小时看完<日志:每个软件工程师都应该知道的有关实时数据的统一概念>. 今天就把kafka在docker容器里运行起来,github上有几个,但都太复杂了. 我自己写个最简 ...
- 在cmd中登录MySQL数据库
mysql -uroot -p 输入密码,即可
- ace后台管理系统扁平化框架
Bootstrap ACE后台管理界面模板(扁平化) 所属分类:后台模板 文件大小:1.22 MB 阅读:236697次 下载:55929次 来源:www.daimajiayuan.com 分享到:更 ...
- spring cloud: Hystrix(五):如禁止单个FeignClient使用hystrix
spring cloud: Hystrix(五):如禁止单个FeignClient使用hystrix 首先application.yml / applicatoin.propreties的配置项:fe ...