Установите дату 10 дней в будущем и отформатируйте в дд / мм / гггг (например, 21/08/2010) - PullRequest
25 голосов
/ 26 августа 2010

Буду очень признателен за помощь в создании JavaScript, который в конечном итоге будет использоваться в Selenium, который автоматически устанавливает дату на 10 дней раньше текущей даты и отображает в следующем формате дд / мм / гггг.

У меня сейчас есть скрипт ниже, но я никуда не пойду с ним:

var myDate=new Date();
myDate.now.format(myDate.setDate(myDate.getDate()+5),("dd/mm/yyyy");

Любая помощь будет высоко ценится.

Ответы [ 6 ]

24 голосов
/ 26 августа 2010

Вот пример получения будущей даты ...

var targetDate = new Date();
targetDate.setDate(targetDate.getDate() + 10);

// So you can see the date we have created
alert(targetDate);

var dd = targetDate.getDate();
var mm = targetDate.getMonth() + 1; // 0 is January, so we must add 1
var yyyy = targetDate.getFullYear();

var dateString = dd + "/" + mm + "/" + yyyy;

// So you can see the output
alert(dateString);

Существует несколько более изящных способов форматирования дат, примеры можно найти по следующим адресам:

http://www.west -wind.com / Weblog / posts / 282495.aspx

http://www.svendtofte.com/javascript/javascript-date-string-formatting/

18 голосов
/ 15 апреля 2016

Попробуйте:

new Date(Date.now() + 1000 /*sec*/ * 60 /*min*/ * 60 /*hour*/ * 24 /*day*/ * 10)
1 голос
/ 14 октября 2015

Мне нужно было сделать что-то подобное, но мне нужен был результат в строке.Вот что мне помогло получить дату через 10 дней:

new Date((new Date()).getTime() + (10 * 86400000))
0 голосов
/ 06 июля 2018

Мне нужно было узнать будущий год, добавив месяцы:

var duration = 13;
var month = 11;
var year = 2018;
var final_year = new Date(year, month + duration);
document.body.innerHTML = final_year.getFullYear();
0 голосов
/ 29 августа 2017

Эта тема оригинальной страницы относится к 2010 году. Итак, я добавил этот ответ в августе 2017 года. Это простое решение, которое хорошо работает для создания диапазона скользящей даты на основе текущей даты.

Например: если сегодня 28 августа 2017 года, и вы хотите, чтобы начальная дата в прошлом составляла -7 дней, а в будущем - 23 дня в будущем, то следующий код JavaScript выведет строку диапазона дат: 21 августа - 20 сентября 2017 г.

Затем на следующий день, 29 августа 2017 г., диапазон дат будет выглядеть следующим образом: 22 августа - 21 сентября 2017 г.

Примечание: при необходимости вы можете изменить код, чтобы сделать статическую либо начальную, либо будущую дату.

Чтобы использовать его в коде HTML:

Событие удерживается: <script>document.write(dateRange)</script>

принесет:

Событие состоится: с 21 августа по 20 сентября 2017 года

var month = new Array();
month[0] = "January";
month[1] = "February";
month[2] = "March";
month[3] = "April";
month[4] = "May";
month[5] = "June";
month[6] = "July";
month[7] = "August";
month[8] = "September";
month[9] = "October";
month[10] = "November";
month[11] = "December";

var startDate = new Date();
startDate.setDate(startDate.getDate() -7 );

var futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 23);

var m1 = month[startDate.getMonth()];
var d1 = startDate.getDate();
var y1 = startDate.getFullYear();

var m2 = month[futureDate.getMonth()];
var d2 = futureDate.getDate();
var y2 = futureDate.getFullYear();

var dateRange = m1 + ' ' + d1 + ' thru ' + m2 + ' ' + d2 + ', ' + y2;

// alert(dateRange); use alert function to test the date range
0 голосов
/ 09 марта 2016

Что бы я сделал, это создал пользовательский DateHelper объект, который выглядит следующим образом:

var DateHelper = {
    addDays : function(aDate, numberOfDays) {
        aDate.setDate(aDate.getDate() + numberOfDays); // Add numberOfDays
        return aDate;                                  // Return the date
    },
    format : function format(date) {
        return [
           ("0" + date.getDate()).slice(-2),           // Get day and pad it with zeroes
           ("0" + (date.getMonth()+1)).slice(-2),      // Get month and pad it with zeroes
           date.getFullYear()                          // Get full year
        ].join('/');                                   // Glue the pieces together
    }
}

// With this helper, you can now just use one line of readable code to :
// ---------------------------------------------------------------------
// 1. Get the current date
// 2. Add 10 days
// 3. Format it
// 4. Output it
// ---------------------------------------------------------------------
document.body.innerHTML = DateHelper.format(DateHelper.addDays(new Date(), 10));

(см. Также this Fiddle )

...