Мне нужно выполнить проверку по датам, причем одна из них - выбранная дата, которую я имел, вторая должна быть текущей датой + 36 недель.
Я осмотрелся, и каждое решение, которое я видел, включает GetDate()
+ дни.
new Date().getDate() + 252
Это не работает, дата в настоящее время составляет 2014/03/07, поэтому строка выше занимает 7 и добавляет 252, что неверно.
Я ищу любое решение с использованием JavaScript или jQuery.
Заранее спасибо.
var newdate = new Date();
newdate.setDate(newdate.getDate()+252); // 36 week * 7 day = 252
alert(newdate.getFullYear() + "-" + (newdate.getMonth() + 1) + "-" + newdate.getDate()); // alert(newdate);
Вы пытались использовать date.setDate()
?
var today = new Date();
today.setDate( today.getDate() + 252 );
Пожалуйста, кто-нибудь покажет мне, как сделать текущую дату = 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()));
Попробуй это:
var now = new Date();
now.setDate(now.getDate()+252);
alert(now.getFullYear() + "-" + (now.getMonth() + 1) + "-" + now.getDate());
Проверка скрипта: http://jsfiddle.net/Uz4VV/
Я знаю, что вы сказали, что хотите просто использовать JavaScript и jQuery, но там есть библиотека, называемая Moment.js, которая превосходит именно это.
moment().add('weeks', 36);
Это так просто. Почему бы не уйти?