Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вывод даты после-после завтрашней. (https://javascript.ru/forum/misc/49548-vyvod-daty-posle-posle-zavtrashnejj.html)

yozuul 18.08.2014 09:09

Вывод даты после-после завтрашней.
 
Есть код. Всё работает, выводит завтрашнюю дату в alert.
Как блоком в HTML вывести, и не завтрашнюю, а сегодняшнюю + 3 дня?
<script type="text/javascript">
function echo_date( date ){
var days = ["воскресение","понедельник","вторник","среда","четверг","пятница","суббота"],
    months = ["января","февратя","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"];
    
    echo_date = function(date){
        date = new Date( date );
        return {
            "date" : date,
            "day" : days[ date.getDay() ],
            "month" : months[ date.getMonth() ],
            "day_num" : date.getDate()
        };
    }
    return echo_date(date);   
};



var primer = echo_date( Date.now()+24*60*60*1000 );

alert( primer.day_num+" "+primer.month+", "+primer.day);
</script>

ksa 18.08.2014 09:28

Цитата:

Сообщение от yozuul
сегодняшнюю + 3 дня?

Дык!

function echo_date( date ){
var days = ["воскресение","понедельник","вторник","среда","четверг","пятница","суббота"],
    months = ["января","февратя","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"];
    echo_date = function(date){
        date = new Date( date );
        return {
            "date" : date,
            "day" : days[ date.getDay() ],
            "month" : months[ date.getMonth() ],
            "day_num" : date.getDate()
        };
    }
    return echo_date(date);   
};

var n=3;
var primer = echo_date( Date.now()+24*n*60*60*1000 );
alert( primer.day_num+" "+primer.month+", "+primer.day);

ixth 18.08.2014 11:11

Зачем замыкание внутри echo_date? Я понял, пока писал, но вопрос оставлю в образовательных целях.

Почему не использовать date = new Date(); date.setDate(date.getDate() + n) вместо Date.now() 24*n*60*60*1000?

yozuul 18.08.2014 12:50

ничего не меняется. так и пишет завтрашний день

ksa 18.08.2014 13:41

Цитата:

Сообщение от yozuul
ничего не меняется. так и пишет завтрашний день

Где?
Мой пример показывает четверг, а сегодня понедельник...


Часовой пояс GMT +3, время: 00:44.