Javascript 获取用户选择日期的最后7天
我有一个datetimepicker,用户在其中选择一个日期,我的要求是我需要在他选择的日期之间相差7天 例如 如果用户选择了2017-03-01,那么我需要从2017-03-01开始的最后7天,而不是当前日期Javascript 获取用户选择日期的最后7天,javascript,bootstrap-datetimepicker,days,date-difference,Javascript,Bootstrap Datetimepicker,Days,Date Difference,我有一个datetimepicker,用户在其中选择一个日期,我的要求是我需要在他选择的日期之间相差7天 例如 如果用户选择了2017-03-01,那么我需要从2017-03-01开始的最后7天,而不是当前日期 function msToDateTime(s) { Number.prototype.padLeft = function(base,chr){ var len = (String(base || 10).length - String(this).le
function msToDateTime(s) {
Number.prototype.padLeft = function(base,chr){
var len = (String(base || 10).length - String(this).length)+1;
return len > 0? new Array(len).join(chr || '0')+this : this;
}
if(s != null){
s = new Date(s);
// var d = new Date(s);
// var d = new Date(s.getTime()+s.getTimezoneOffset()*60*1000+timeConversionToMilliseconds(sessionStorage.getItem("accounttimezone").split('+')[1]+':00'))
var d = new Date(s.getTime()+(s.getTimezoneOffset()*60*1000)+ (330 *60*1000));
dformat = [ d.getFullYear(),
(d.getMonth()+1).padLeft(),
d.getDate().padLeft()].join('-')+
' ' +
[ d.getHours().padLeft(),
d.getMinutes().padLeft(),
d.getSeconds().padLeft()].join(':');
return dformat;
}else{
return " ";
}
}
我在这里检查的所有答案都是基于今天的天数差异
有人能帮我吗
$("#dateTimePickerIdWhereUserSelectsHisDate").val() - (7 * 24 * 60 * 60 * 1000);
这是其中一个答案,但不起作用
我怎样才能做到这一点呢?试试这个 选择日期时间将为您提供所选日期
604800000是以毫秒为单位的7天
prevDate将为您提供最后7天的日期
$("#startDate").on("dp.change", function(e) {
if (e.oldDate != null) {
if (e.date.format('D') != e.oldDate.format('D')) {
var selectDateTime = e.date["_d"].getTime();
var prevDateTImeMili = selectDateTime - 604800000;
var prevDate = msToDateTime(prevDateTImeMili)
$('#startDate').data("DateTimePicker").hide();
}
}
});
msToDateTime是一个将毫秒转换为日期时间的函数
function msToDateTime(s) {
Number.prototype.padLeft = function(base,chr){
var len = (String(base || 10).length - String(this).length)+1;
return len > 0? new Array(len).join(chr || '0')+this : this;
}
if(s != null){
s = new Date(s);
// var d = new Date(s);
// var d = new Date(s.getTime()+s.getTimezoneOffset()*60*1000+timeConversionToMilliseconds(sessionStorage.getItem("accounttimezone").split('+')[1]+':00'))
var d = new Date(s.getTime()+(s.getTimezoneOffset()*60*1000)+ (330 *60*1000));
dformat = [ d.getFullYear(),
(d.getMonth()+1).padLeft(),
d.getDate().padLeft()].join('-')+
' ' +
[ d.getHours().padLeft(),
d.getMinutes().padLeft(),
d.getSeconds().padLeft()].join(':');
return dformat;
}else{
return " ";
}
}
函数getDaysBefore(日期字符串,numberOfDaysBefore){
让startingDate=新日期(dateString).getTime();
让datesArray=[],
DaysCenter=0,
日=1000*60*60*24;
while(dayscenter