Прибавить к дате 7 дней
Подскажите, пожалуйста, как к дате в виде строки dd/mm/yyyy прибавить 7 дней и опять вывести ее в строку в таком же формате. Желательно конечно с помощью типа Дата это все сделать.
|
добавить дней так
var today = new Date(), inWeek = new Date(); inWeek.setDate(today.getDate()+7); alert("сегодня: "+today+" Через неделю: "+inWeek); |
Это конечно работает, но на входе имеется именно текстовая строка в виде dd/mm/yyyy и на выходе нужно иметь такую же(
|
а Date.parse() к такой строке не получается почему то применить, только к строке вида mm/dd/yyyy(
|
tzarek,
:cray: function get(data) { data = data.split('/'); data = new Date(data[2], +data[1]-1, +data[0], 168, 0, 0, 0); data = [data.getDate(),data.getMonth()+1,data.getFullYear()]; data = data.join('/').replace(/(^|\/)(\d)(?=\/)/g,"$10$2"); return data } alert(get("29/08/2013")); |
Спасибо огромное!!! Подскажите новичку еще, пожалуйста, а в этой функции где мы 7 дней прибавляем? И как можно изменять количество прибавляемых дней?
|
Как я понял, как раз 168 это количество прибавляемых часов?
|
tzarek,
168 - да часы и более правильная версия function get(data, day) { data = data.split('/'); data = new Date(data[2], +data[1]-1, +data[0]+day, 0, 0, 0, 0); data = [data.getDate(),data.getMonth()+1,data.getFullYear()]; data = data.join('/').replace(/(^|\/)(\d)(?=\/)/g,"$10$2"); return data } alert(get("29/08/2013", 7)); |
Огромнейшее спасибо)
|
Не стал создавать новую тему, т.к. вопрос близок с этой.
В общем, нужно в разных местах сайта выводить даты, отличающиеся от текущей на несколько дней (в разные стороны). И это разница в разных местах разная и задается при вызове функции. На основе вышеприведенных примеров написал код, но он не работает(( <html> <head> <script type="text/javascript"> function get(dday) { var today = new Date(), newdate = new Date(); newdate.setDate(today.getDate()+dday); alert("сегодня: "+date.getDate(date)+" Через " +ddate+ ": "+date.getDate(newdate)); return date.getDate(newdate); } </script> </head> <body> <script type="text/javascript">document.write(get(-7));</script><br> <script type="text/javascript">document.write(get(5));</script> Изначально код был такой, <script type="text/javascript"> function getMonth(date) { var month = ['января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'] ; return month[ date.getMonth() ]; } var date = new Date(); date.setDate(date.getDate() + 3); bf=getMonth(date); </script> а выводилось так: <script type="text/javascript">document.write(date.getDate() + " " + bf);</script> Но здесь дата задается фиксированно, и в разных местах разные даты уже не поставить. Нужно в таком-же формате (число и месяц) выводить данные несколько раз с разницей от текущей даты. Подскажите пожалуйста, что не так в моем коде. Спасибо. |
Часовой пояс GMT +3, время: 05:53. |