我以dd-MMM-yyyy格式给出日期,如01-dec-2013,我想要开始日期和结束日期。
通过按钮点击更改给定日期后点击左右箭头我想要一周的正确开始和结束日期,
所以请使用Jquery
帮助我答案 0 :(得分:0)
尝试
var date = new Date('03-dec-2013');
var day =date.getDay();
var start = new Date(date)
start.setDate(start.getDate() - day)
console.log(start)
var end = new Date(date)
end.setDate(end.getDate() - day + 6)
console.log(end)
演示:Fiddle
注意:在所有环境中可能不支持解析日期字符串,需要确认。为了更安全的解析,请使用像momentjs
这样的日期库答案 1 :(得分:0)
尝试
$(function () {
$('#date').datepicker({
dateFormat: "dd-M-yy",
onSelect: function (dateText, inst) {
var date = $(this).datepicker('getDate');
startDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay());
endDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - date.getDay() + 6);
var dateFormat = inst.settings.dateFormat || $.datepicker._defaults.dateFormat;
$('#startDate').text($.datepicker.formatDate(dateFormat, startDate, inst.settings));
$('#endDate').text($.datepicker.formatDate(dateFormat, endDate, inst.settings));
}
});
});
<小时/> onSelect:
答案 2 :(得分:0)
<强> JS 强>
$(function() {
$('#anydate').datepicker({
showWeek:true,
firstDay:0,
dateFormat: 'dd-M-yy',
onSelect: function() {
var d = $(this).datepicker('getDate');
var tstamp = $.datepicker.formatDate('@',d);
var wd = d.getDay();
var wkstart = new Date();
wkstart.setDate(d.getDate() - wd);
var wkend = new Date();
wkend.setDate(d.getDate() + (7 - wd));
$('#weekstart').val(wkstart.toDateString());
$('#weekend').val(wkend.toDateString());
}
});
});
<强> HTML 强>
<input type="text" class="datepicker" name="anydate" id="anydate" />
<input type="text" id="weekstart" />
<input type="text" id="weekend" />
答案 3 :(得分:0)
看看Moment.js。它允许编写如下代码来保存所有这些工作:
moment(input).day(0); // Sunday of this week
moment(input).day(6); // Saturday of this week
moment(input).day(-7); // last Sunday (0 - 7)
moment(input).day(7); // next Sunday (0 + 7)
moment(input).day(10); // next Wednesday (3 + 7)
moment(input).day(24); // 3 Wednesdays from now (3 + 7 + 7 + 7)
它可以解析各种格式的日期字符串。