дата JavaScript + 7 дней - PullRequest
       5

дата JavaScript + 7 дней

38 голосов
/ 21 апреля 2011

Что не так с этим скриптом?

Когда я устанавливаю свои часы, чтобы сказать 29/04/2011, это добавляет 36/4/2011 во ввод недели! но правильная дата должна быть 6/5/2011

var d = new Date();
var curr_date = d.getDate();
var tomo_date = d.getDate()+1;
var seven_date = d.getDate()+7;
var curr_month = d.getMonth();
curr_month++;
var curr_year = d.getFullYear();
var tomorrowsDate =(tomo_date + "/" + curr_month + "/" + curr_year);
var weekDate =(seven_date + "/" + curr_month + "/" + curr_year);
{
jQuery("input[id*='tomorrow']").val(tomorrowsDate);
jQuery("input[id*='week']").val(weekDate);
    }

Ответы [ 8 ]

105 голосов
/ 21 апреля 2011

var date = new Date();
date.setDate(date.getDate() + 7);

console.log(date);

И да, это также работает, если date.getDate() + 7 больше, чем последний день месяца. См. MDN для получения дополнительной информации.

11 голосов
/ 21 апреля 2011

Как-то так?

var days = 7;
var date = new Date();
var res = date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
alert(res);

преобразовать в дату снова:

date = new Date(res);
alert(date)

или альтернативно:

date = new Date(res);

// hours part from the timestamp
var hours = date.getHours();

// minutes part from the timestamp
var minutes = date.getMinutes();

// seconds part from the timestamp
var seconds = date.getSeconds();

// will display time in 10:30:23 format
var formattedTime = date + '-' + hours + ':' + minutes + ':' + seconds;
alert(formattedTime)
6 голосов
/ 21 апреля 2011

Простой способ получить дату x дней в будущем - увеличить дату:

function addDays(dateObj, numDays) {
  return dateObj.setDate(dateObj.getDate() + numDays);
}

Обратите внимание, что это изменяет предоставленный объект даты, например,

function addDays(dateObj, numDays) {
   dateObj.setDate(dateObj.getDate() + numDays);
   return dateObj;
}

var now = new Date();
var tomorrow = addDays(new Date(), 1);
var nextWeek = addDays(new Date(), 7);

alert(
    'Today: ' + now +
    '\nTomorrow: ' + tomorrow +
    '\nNext week: ' + nextWeek
);
2 голосов
/ 14 января 2015
var days = 7;
var date = new Date();
var res = date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));

var d = new Date(res);
var month = d.getMonth() + 1;
var day = d.getDate();

var output = d.getFullYear() + '/' +
    (month < 10 ? '0' : '') + month + '/' +
    (day < 10 ? '0' : '') + day;

$('#txtEndDate').val(output);
1 голос
/ 02 февраля 2015

Вы можете добавить или увеличить день недели для следующего примера и надеяться, что это поможет вам. Посмотрим ...

        //Current date
        var currentDate = new Date();
        //to set Bangladeshi date need to add hour 6           

        currentDate.setUTCHours(6);            
        //here 2 is day increament for the date and you can use -2 for decreament day
        currentDate.setDate(currentDate.getDate() +parseInt(2));

        //formatting date by mm/dd/yyyy
        var dateInmmddyyyy = currentDate.getMonth() + 1 + '/' + currentDate.getDate() + '/' + currentDate.getFullYear();           
0 голосов
/ 07 марта 2019

var future = new Date(); // get today date
future.setDate(future.getDate() + 7); // add 7 days
var finalDate = future.getFullYear() +'-'+ ((future.getMonth() + 1) < 10 ? '0' : '') + (future.getMonth() + 1) +'-'+ future.getDate();
console.log(finalDate);
0 голосов
/ 21 апреля 2011

Использование методов объекта Date может пригодиться.

например:

myDate = new Date();
plusSeven = new Date(myDate.setDate(myDate.getDate() + 7));
0 голосов
/ 21 апреля 2011

Две проблемы здесь:

  1. seven_date - это число, а не дата. 29 + 7 = 36
  2. getMonth возвращает нулевой индекс месяца. Таким образом, добавив один, вы получите номер текущего месяца.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...