Прибавить к дате 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> Но здесь дата задается фиксированно, и в разных местах разные даты уже не поставить. Нужно в таком-же формате (число и месяц) выводить данные несколько раз с разницей от текущей даты. Подскажите пожалуйста, что не так в моем коде. Спасибо. |
Цитата:
|
AtomicJ,
:(
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<script>
function get(dday) {
var newdate = new Date();
newdate.setDate(newdate.getDate()+dday);
return newdate.getDate() + ' '+['января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'][newdate.getMonth()];
}
</script>
</head>
<body>
<script type="text/javascript">document.write(get(-7));</script><br>
<script type="text/javascript">document.write(get(5));</script>
</body>
</html>
|
Цитата:
|
| Часовой пояс GMT +3, время: 23:08. |