Javascript 使用jQuery UI日期选择器显示日总计数

Javascript 使用jQuery UI日期选择器显示日总计数,javascript,jquery,jquery-ui,datepicker,daycount,Javascript,Jquery,Jquery Ui,Datepicker,Daycount,我正在使用和应用这样的日期格式 2016年4月30日,星期三 这是密码 HTML <input type="text" id="closedate"> 现在,如何在输入中添加从当前日期算起的天数 2016年4月30日星期三(3天) 括号中的3天是从当前日期算起的计数这可能有助于: 实际上,将从中的日期选择器返回的值转换为标准JS日期 var date1 = new Date("7/13/2010"); var date2 = new Date("12/15/2010"); var

我正在使用和应用这样的日期格式

2016年4月30日,星期三

这是密码

HTML

<input type="text" id="closedate">
现在,如何在输入中添加从当前日期算起的天数

2016年4月30日星期三(3天)

括号中的3天是从当前日期算起的计数

这可能有助于:

实际上,将从中的日期选择器返回的值转换为标准JS日期

var date1 = new Date("7/13/2010");
var date2 = new Date("12/15/2010");
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); 
alert(diffDays);
这可能有助于:

实际上,将从中的日期选择器返回的值转换为标准JS日期

var date1 = new Date("7/13/2010");
var date2 = new Date("12/15/2010");
var timeDiff = Math.abs(date2.getTime() - date1.getTime());
var diffDays = Math.ceil(timeDiff / (1000 * 3600 * 24)); 
alert(diffDays);

您可以计算日期选择器输入的更改事件

请参见示例代码:

$('#date1').change(function() {
    var diff = new Date() - $('#date1').datepicker("getDate");
    $('#diff').text(Math.floor(diff / (1000*60*60*24) * -1) + 1);
});
看到它工作了吗

编辑

评论后的编辑版本:

添加了一些额外的字符串格式和日期UTIL:

$('#date1').change(function() {
    var pickedDate = $('#date1').datepicker("getDate");
    var diff = new Date() - $('#date1').datepicker("getDate");
    var dayDiff = Math.floor(diff / (1000*60*60*24) * -1) + 1;

    $('#pickedDate').text(getDatStr(pickedDate));
    $('#diff').text('(' + dayDiff + ' Days )');
});

var monthNames = [
  "January", "February", "March",
  "April", "May", "June", "July",
  "August", "September", "October",
  "November", "December"
];

var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];

function getDatStr(date) {
  var day = date.getDate();
  var monthIndex = date.getMonth();
  var year = date.getFullYear();
  var dayOfWeek = date.getDay();

  return days[dayOfWeek] + ', ' + day + ' ' + monthNames[monthIndex] + ', ' +  year;
}
看到它工作了吗

编辑

基于评论的小编辑


稍微接近:

您计算日期选择器输入的更改事件

请参见示例代码:

$('#date1').change(function() {
    var diff = new Date() - $('#date1').datepicker("getDate");
    $('#diff').text(Math.floor(diff / (1000*60*60*24) * -1) + 1);
});
看到它工作了吗

编辑

评论后的编辑版本:

添加了一些额外的字符串格式和日期UTIL:

$('#date1').change(function() {
    var pickedDate = $('#date1').datepicker("getDate");
    var diff = new Date() - $('#date1').datepicker("getDate");
    var dayDiff = Math.floor(diff / (1000*60*60*24) * -1) + 1;

    $('#pickedDate').text(getDatStr(pickedDate));
    $('#diff').text('(' + dayDiff + ' Days )');
});

var monthNames = [
  "January", "February", "March",
  "April", "May", "June", "July",
  "August", "September", "October",
  "November", "December"
];

var days = ['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'];

function getDatStr(date) {
  var day = date.getDate();
  var monthIndex = date.getMonth();
  var year = date.getFullYear();
  var dayOfWeek = date.getDay();

  return days[dayOfWeek] + ', ' + day + ' ' + monthNames[monthIndex] + ', ' +  year;
}
看到它工作了吗

编辑

基于评论的小编辑

稍微靠近一点:

只需添加

使用
onSelect
事件,您可以使用所提供的格式化程序设置的
格式化值

$(文档).ready(函数(){
$(“#closedate”).datepicker({
日期格式:“日、日、月、年”,
onSelect:功能(a、b){
var diff=new Date()-$(this).datepicker(“getDate”);
差异=数学楼层(差异/(1000*60*60*24)*-1)+1;
var值=a+'('+diff+'天)'
$(此).val(值);
}
});
});

仅添加由提供的

使用
onSelect
事件,您可以使用所提供的格式化程序设置的
格式化值

$(文档).ready(函数(){
$(“#closedate”).datepicker({
日期格式:“日、日、月、年”,
onSelect:功能(a、b){
var diff=new Date()-$(this).datepicker(“getDate”);
差异=数学楼层(差异/(1000*60*60*24)*-1)+1;
var值=a+'('+diff+'天)'
$(此).val(值);
}
});
});

代码:

刚刚清理了@DDan中的代码。

代码:


刚刚清理了@DDan中的代码。

@ArunPJohny,这是当前的计数date@Arun从当前日期算起,今天是27,我选择了30,所以30-27=3@Rayon达布雷Right@ArunPJohny,它是当前的计数date@ArunP Johny从当前日期算起的天数,今天是27号,我选择了30号,所以30-27号=3@RayonDabre Right我不想使用两个日期和日期选择器,我只想使用一个日期选择器,第一个日期将是当前日期,另一个日期将是选定日期我不想使用两个日期和日期选择器,我只想使用一个日期选择器和第一个日期将是当前日期和其他日期将被选中的日期这是伟大的!!但是我有2016年4月30日星期三(n天)
中的日期,是根据您的示例编辑的。我希望它能帮上忙。嘿,你能看看我附上的图片吗,这样你就可以更好地理解了,你做得很好,但我想在inputSure东西中打印这个值!见编辑。你可以给它添加一些漂亮的样式。我很高兴能帮上忙,请看版本5,它更接近你计划的样式。这太棒了!!但是我有2016年4月30日星期三(n天)
中的日期,是根据您的示例编辑的。我希望它能帮上忙。嘿,你能看看我附上的图片吗,这样你就可以更好地理解了,你做得很好,但我想在inputSure东西中打印这个值!见编辑。你可以给它添加一些漂亮的样式。我很高兴我能帮上忙,见版本5,它更接近你的计划。