Javascript 如何获得两个日期之间的月份
我使用jqueryJavascript 如何获得两个日期之间的月份,javascript,jquery,jquery-ui,date,datepicker,Javascript,Jquery,Jquery Ui,Date,Datepicker,我使用jquerydatepicker来获取两个日期。在我的情况下,我必须以这种格式获取日期d-M-y。我使用它是为了能够在不进行任何格式化的情况下将值插入到oracle数据库中。问题是我需要计算两个日期之间的月份。例如:1-10-13-30-10-16 以下是我如何在js中获得日期: LastAssimDatePicker = (function() { $( "#lastAssimilationDate" ).datepicker({
datepicker
来获取两个日期。在我的情况下,我必须以这种格式获取日期d-M-y
。我使用它是为了能够在不进行任何格式化的情况下将值插入到oracle
数据库中。问题是我需要计算两个日期之间的月份。例如:1-10-13
-30-10-16
以下是我如何在js中获得日期:
LastAssimDatePicker = (function() {
$( "#lastAssimilationDate" ).datepicker({
yearRange: "-20:+100",
changeMonth: true,
changeYear: true,
dateFormat: "d-M-y"
});
}),
LastAssimDateOverPicker = (function() {
$( "#lastAssimilationDateOver" ).datepicker({
yearRange: "-20:+100",
changeMonth: true,
changeYear: true,
dateFormat: "d-M-y"
});
}),
上述日期分配给2个变量
-lastassimpdate
和lastassimpdateover
问题是我真的找不到一种方法来计算这两个日期之间的月份,我已经在上面浪费了大约2个小时。我很确定会有一个简单的解决方案,但作为一个初学者,我无法发现它。我知道这里有类似的主题,但我无法让它工作,或者它不适合我的问题。工作演示或者如果您希望两个月都包括在内,请尝试此演示: 这将适合你的需要,可以有很多版本 请注意,可以根据您的需要进行各种组合,因此请随意使用此代码 旧链接其中一个是我的旧回复:
:)
代码
$('.start,.end').datepicker();
$('.hulk').click(function () {
var sDate = $('.start').val();
var nDate = $('.end').val();
var startdate = new Date(sDate);
var enddate = new Date(nDate);
enddate.setDate(enddate.getDate() - startdate.getDate());
alert(monthDiff(startdate,enddate));
});
function monthDiff(d1, d2) {
var months;
months = (d2.getFullYear() - d1.getFullYear()) * 12;
months -= d1.getMonth() + 1;
months += d2.getMonth();
return months <= 0 ? 0 : months;
}
$('.start,.end').datepicker();
$('.hulk')。单击(函数(){
var sDate=$('.start').val();
var nDate=$('.end').val();
var startdate=新日期(sDate);
var enddate=新日期(数据);
setDate(enddate.getDate()-startdate.getDate());
警报(monthDiff(开始日期,结束日期));
});
函数monthDiff(d1、d2){
var月;
月份=(d2.getFullYear()-d1.getFullYear())*12;
月份-=d1.getMonth()+1;
月份+=d2.getMonth();
返回月份工作演示或者如果您想同时包含这两个月,请尝试此演示:
这将适合你的需要,可以有很多版本
请注意,可以根据您的需要进行各种组合,因此请随意使用此代码
旧链接其中一个是我的旧回复:
希望这有助于:)
代码
$('.start,.end').datepicker();
$('.hulk').click(function () {
var sDate = $('.start').val();
var nDate = $('.end').val();
var startdate = new Date(sDate);
var enddate = new Date(nDate);
enddate.setDate(enddate.getDate() - startdate.getDate());
alert(monthDiff(startdate,enddate));
});
function monthDiff(d1, d2) {
var months;
months = (d2.getFullYear() - d1.getFullYear()) * 12;
months -= d1.getMonth() + 1;
months += d2.getMonth();
return months <= 0 ? 0 : months;
}
$('.start,.end').datepicker();
$('.hulk')。单击(函数(){
var sDate=$('.start').val();
var nDate=$('.end').val();
var startdate=新日期(sDate);
var enddate=新日期(数据);
setDate(enddate.getDate()-startdate.getDate());
警报(monthDiff(开始日期,结束日期));
});
函数monthDiff(d1、d2){
var月;
月份=(d2.getFullYear()-d1.getFullYear())*12;
月份-=d1.getMonth()+1;
月份+=d2.getMonth();
return months自从您提到您不应该更改格式后,我为您提供了一个解决方案
在@T.J.Crowder's的帮助下,我做到了这一点
d1 = new Date($( "#lastAssimilationDate" ).val());
d2 = new Date($( "#lastAssimilationDateOver").val());
alert(monthDiff(d1, d2));
检查这个
不确定Nan
是否弹出,但我能看到不同之处
function calcualteMonthYr(){
var fromDate =new Date($('#txtFrom').val()); //datepicker (text fields)
var toDate = new Date($('#txtTo').val()); // datepicker
var months;
months = (toDate.getFullYear() - fromDate.getFullYear()) * 12;
months += toDate.getMonth();
if (toDate.getDate() < fromDate.getDate())
{
months--;
}
$('#txtTimePeriod2').val(months);
}
// it also consider dates so you would get exact months ..
既然您提到您不应该更改格式,我有一个解决方案给您
在@T.J.Crowder's的帮助下,我做到了这一点
d1 = new Date($( "#lastAssimilationDate" ).val());
d2 = new Date($( "#lastAssimilationDateOver").val());
alert(monthDiff(d1, d2));
检查这个
不确定Nan
是否弹出,但我能看到不同之处
function calcualteMonthYr(){
var fromDate =new Date($('#txtFrom').val()); //datepicker (text fields)
var toDate = new Date($('#txtTo').val()); // datepicker
var months;
months = (toDate.getFullYear() - fromDate.getFullYear()) * 12;
months += toDate.getMonth();
if (toDate.getDate() < fromDate.getDate())
{
months--;
}
$('#txtTimePeriod2').val(months);
}
// it also consider dates so you would get exact months ..
函数CalculateMonthyr(){
var fromDate=新日期($('#txtFrom').val();//日期选择器(文本字段)
var toDate=新日期($('#txtTo').val();//日期选择器
var月;
月=(toDate.getFullYear()-fromDate.getFullYear())*12;
月份+=toDate.getMonth();
如果(toDate.getDate()
函数CalculateMonthyr(){
var fromDate=新日期($('#txtFrom').val();//日期选择器(文本字段)
var toDate=新日期($('#txtTo').val();//日期选择器
var月;
月=(toDate.getFullYear()-fromDate.getFullYear())*12;
月份+=toDate.getMonth();
如果(toDate.getDate()
我需要计算两个日期之间的月数
你能给出一个示例日期吗?问题是我不知道如何做…你想知道这个范围包含多少个月吗?这意味着13年10月1日-16年10月30日之间的月数
?你的问题已经得到了回答。请参见-我需要计算月数两个日期之间的月数
你能给出一个示例日期吗?问题是我不知道怎么做…你想知道这个范围包含多少个月吗?这意味着13年10月1日-16年10月30日之间的月数
?你的问题已经得到了回答。请看-@Slim,但我能得到月差。不确定具体的月份Nan
检查我答案中的图片。哇,我注意到它在firefox和IE下不起作用。@Slim你知道了,我可以在FF中复制。让我尝试一下,然后带一些解决方案回来。我也会看看。我希望它可以被修复。@Slim但我可以得到月差。不确定Nan
检查我答案中的图片。哇,我注意到它在firefox和IE下不起作用。@Slim你知道了,我可以在FF中复制。让我尝试并提供一些解决方案。我也会查看。我希望它可以修复。:)