Как добавить количество недель к текущей дате, используя JavaScript?

0

Мне нужно выполнить проверку по датам, причем одна из них - выбранная дата, которую я имел, вторая должна быть текущей датой + 36 недель.

Я осмотрелся, и каждое решение, которое я видел, включает GetDate() + дни.

new Date().getDate() + 252

Это не работает, дата в настоящее время составляет 2014/03/07, поэтому строка выше занимает 7 и добавляет 252, что неверно.

Я ищу любое решение с использованием JavaScript или jQuery.

Заранее спасибо.

  • 0
    См. Stackoverflow.com/questions/3818193/…
  • 0
    JavaScript MDN о датах может помочь в будущих проблемах с датами. В нем перечислены все методы, которые имеет объект даты, и для чего они используются. Это может дать вам представление о том, как достичь того, что вы ищете, с помощью самых основ объекта даты.
Теги:
date

5 ответов

6
Лучший ответ

проверить jsFiddle

Код JavaScript

var newdate = new Date();
newdate.setDate(newdate.getDate()+252);   // 36 week * 7 day = 252
alert(newdate.getFullYear() + "-" + (newdate.getMonth() + 1) + "-" + newdate.getDate());  // alert(newdate);
  • 0
    @ Джей Патель Спасибо: D
0

Вы пытались использовать date.setDate()?

var today = new Date();
today.setDate( today.getDate() + 252 ); 
0

Пожалуйста, кто-нибудь покажет мне, как сделать текущую дату = 36 недель, а затем проанализировать ее в формате "yyyy-MM-dd"

Все, что вам нужно, это в других ответах, но чтобы было ясно

// Start with a date
var d = new Date();

// Create a new date 36 weeks in the future
var e = new Date(+d + 36*7*24*60*60*1000);

// Convert to ISO 8601 format and get just the date part
alert(e.toISOString().split(/t/i)[0]);

или получить бит и форматировать строку самостоятельно:

function pad(n){return (n<10?'0':'')+n}
alert(e.getFullYear() + '-' + pad(e.getMonth()+1) + '-' + pad(e.getDate()));
0

Попробуй это:

var now = new Date();
now.setDate(now.getDate()+252);

alert(now.getFullYear() + "-" + (now.getMonth() + 1) + "-" + now.getDate());

Проверка скрипта: http://jsfiddle.net/Uz4VV/

0

Я знаю, что вы сказали, что хотите просто использовать JavaScript и jQuery, но там есть библиотека, называемая Moment.js, которая превосходит именно это.

moment().add('weeks', 36);

Это так просто. Почему бы не уйти?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню