Я думаю, что у меня в основном есть мозговой пердит. Я просто хочу переслать Date()
до определенного дня недели, а затем получить месяц, день, год.Получить дату определенного дня недели в JavaScript
E.g. сегодня 09/03/10, но я хочу функцию (nextSession()
), чтобы вернуться 09/08/10 (следующая среда).
Как мне это сделать? Самое лучшее, что я могу придумать, это добавить день до setDate()
до getDay()
== 3, но это сорт уродливый ...
P.S. jQuery тоже классный.
Изменено: к функции xnextSession() { \t var ret = new Date(); \t ret.setDate (ret.getDate() + (3 - 1 - ret.getDay() + 7)% 7 + 1); \t return ret; \t} Это все еще работает правильно? Я имею в виду ... похоже, это было бы ... –
Я вижу, что вы изменили 'var ret = new Date();' Это должно быть 'new Date (date)', потому что setDate() будет устанавливать только день месяца , и другая информация, например, месяц или год, исчезла. Причина, по которой я объявляю переменную ret, заключается в том, что я не хочу менять значение 'date'. 'var ret = new Date (date)' делает копию объекта 'date', а не копией ссылки. EDIT: Извините, конечно, он будет работать на текущий день, я не видел всего. ^^ ' – pepkin88
Черт, это чисто. Мое единственное предложение - сделать день, когда вы продвигаетесь к параметру. +1 – Ender