2015-06-22 2 views
0

У меня есть форма, которая позволяет пользователю выбрать дату счета и условия оплаты. Условия оплаты: 1 неделя с даты выставления счета, 4 недели с даты выставления счета, 1 месяц со дня выставления счета и т. Д.Добавьте дни, недели, месяцы до даты, используя jQuery

Когда пользователь выбрал дату счета и условия оплаты, я хочу сгенерировать дату выставления счета.

Мой вопрос: как добавить дату в jQuery и как это сделать надежным способом. Например, принимая во внимание високосные годы и меняющееся количество дней в каждом месяце. Например, добавление 1 месяца к 31 октября должно быть 30 ноября, а не 31 ноября.

Я нашел несколько решений, с помощью функции поиска Google, но они, похоже, не на високосные годы и т.д.

+1

http://stackoverflow.com/questions/3818193/how-to-add-number-of-days-to-todays-date –

+1

есть вы смотрите на JavaScript Object дата? – aahhaa

ответ

2

JQuery не для манипулирования DateTime. Он предназначен для запросов и манипулирования объектами DOM. Для чего вам нужно либо реализовать это самостоятельно, либо использовать специализированную стороннюю библиотеку.

Moment.js довольно аккуратный.

Примеры:

moment().subtract(10, 'days').calendar(); // 06/12/2015 
moment().subtract(6, 'days').calendar(); // Last Tuesday at 1:51 PM 
moment().subtract(3, 'days').calendar(); // Last Friday at 1:51 PM 
moment().subtract(1, 'days').calendar(); // Yesterday at 1:51 PM 
moment().calendar();      // Today at 1:51 PM 
moment().add(1, 'days').calendar();  // Tomorrow at 1:51 PM 
moment().add(3, 'days').calendar();  // Thursday at 1:51 PM 
moment().add(10, 'days' 

Другие примеры здесь: http://momentjs.com/

0

Javascript имеют дату по умолчанию OBJ вы можете использовать как таковой. moment.js - опрятный выбор.

var date = new Date(); 
 

 
    // add a day or anyday you like 
 
    date.setDate(date.getDate() + 1); 
 

 
    document.write(date);

+0

Точно, мне нужно уточнить, что в javascript январь - это месяц «0», а декабрь считается «11». – rafatic

+0

date.getMonth(); будет возвращать месяц как число, jan будет 1, dec будет 12, но вы всегда можете '-1'. получить базу 0. – aahhaa

+0

извините, месяц javascript уже является базовым 0, поэтому нет необходимости в математике ... игнорировать комментарий раньше. – aahhaa

Смежные вопросы