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 ...
随机推荐
- 关于Test类中不能使用Autowired注入bean的问题
在测试类中使用AutoWired注解一直不能获取到Bean,调用方法时一直报空指针异常,我有在其他类中使用AutoWired试了下,发现能够生效.问题应该就是处在Test类中,后面找了半天终于找到问题 ...
- OpenModelica读取文件
parameter String file = Modelica.Utilities.Files.loadResource("J:/git/tcs/tcs.txt"); 将文件名变 ...
- System.out.println 报错: 只能运行在方法体内哦, 类里面只包含属性和方法哦,注意!
类里面包含属性和方法 所以, System.out.println,只能放在方法体内运行,不能放在类里.方法外哦
- leecode第四题(寻找两个有序数组的中位数)
题解: class Solution { public: double findMedianSortedArrays(vector<int>& nums1, vector<i ...
- Import Projects from git
1:工具栏window -->show view -->Other
- 最大频率栈 Maximum Frequency Stack
2018-10-06 22:01:11 问题描述: 问题求解: 为每个频率创建一个栈即可. class FreqStack { Map<Integer, Integer> map; Lis ...
- Python 编程快速上手 第七章总结
前言 在 Word 软件中,我们总是习惯使用 CMD+F 用来查找和替换文本,但是,正如作者所说: 虽然计算机可以很快地查找文本,但你必须精确地告诉它要找什么. 我们往往想要查找一类文本,比如一段文本 ...
- Mac 上搭建基于 Hexo + GitHub 个人博客
环境配置 本人电脑系统:macOS Node.js 生成静态页面.安装Node.js Git 用于将本地 Hexo 内容提交到 Github.Xcode自带Git(前提:macOS已经安装了Xcode ...
- 55-56 ORM多表查询
多表查询: KEY ====> 通过ORM引擎如何跨表: 正向查询按字段,反向查询按表名小写 模型的创建: from django.db import models # Create yo ...
- apiCloud 版本号
应用版本号:this.appVersion = api.appVersion; 更新系版本的时候可用来比较