За последние 24 часа нас посетили 17487 программистов и 1719 роботов. Сейчас ищут 1516 программистов ...

JS - Date & Month

Тема в разделе "JavaScript и AJAX", создана пользователем HarPy, 24 авг 2006.

  1. HarPy

    HarPy Активный пользователь

    С нами с:
    10 июл 2006
    Сообщения:
    59
    Симпатии:
    0
    Адрес:
    Новый Уренгой
    Вот два куска кода
    Первый (заключен в head тег)>>>
    <SCRIPT language=JavaScript>
    <!-- Begin
    theDate= new Date();
    months = new Array();
    days = new Array();
    months[1] ="Январь";
    months[2] ="Февраль";
    months[3] ="Март";
    months[4] ="Апрель";
    months[5] ="Май";
    months[6] ="Июнь";
    months[7] ="Июль";
    months[8] ="Август";
    months[9] ="Сентябрь";
    months[10] ="Октябрь";
    months[11] ="Ноябрь";
    months[12] ="Декабрь";
    days[1] ="1";
    days[2] ="2";
    days[3] ="3";
    days[4] ="4";
    days[5] ="5";
    days[6] ="6";
    days[7] ="7";
    days[8] ="8";
    days[9] ="9";
    days[10] ="10";
    days[11] ="11";
    days[12] ="12";
    days[13] ="13";
    days[14] ="14";
    days[15] ="15";
    days[16] ="16";
    days[17] ="17";
    days[18] ="18";
    days[19] ="18";
    days[20] ="20";
    days[21] ="21";
    days[22] ="22";
    days[23] ="23";
    days[24] ="24";
    days[25] ="25";
    days[26] ="26";
    days[27] ="27";
    days[28] ="28";
    days[29] ="29";
    days[30] ="30";
    days[31] ="31";
    function printDate() {
    document.write('months[theDate.getMonth()+1]'); // month
    document.write(' ');
    document.write('days[theDate.getDate()]'); // day
    }
    // End -->
    </SCRIPT>

    Второй (находится в Table)>>>
    <TABLE border=0 bordercolor=red background="xxx.files\nowtop.gif" cellpadding=4 cellspacing=0 leftMargin=0 topMargin=0
    HSPACE=0 MARGINHEIGHT=0 MARGINWIDTH=0 width=100%>
    <TR><TD><CENTER><FONT FACE="Comic Sans MS" COLOR=darkblue SIZE=2><B>
    <SCRIPT>
    printDate();
    </SCRIPT>
    </B></FONT></CENTER></TD></TR>
    </TABLE>

    Собственно сам вопрос >>>
    Почему в том месте где должен показываться дата - месяц
    у меня такая лабуда
    months[theDate.getMonth()+1] days[theDate.getDate()]
     
  2. Davil

    Davil Guest

    Внутри скобок апострофы убери :)
     
  3. Петр

    Петр Активный пользователь

    С нами с:
    20 мар 2006
    Сообщения:
    1.253
    Симпатии:
    0
    Адрес:
    Центр Вселенной
    Это у кого хватило терпения так массивы расписать? :shock:
     
  4. Davil

    Davil Guest

    Бывают трудолюбивые люди... А вот ты, к примеру, если бы тебе надо было привести читабельность скрипта к примерно такому, ты бы стал все это писать? Или же начал бы сочинять циклы на PHP, чтобы те за тебя все сделали? :)
     
  5. HarPy

    HarPy Активный пользователь

    С нами с:
    10 июл 2006
    Сообщения:
    59
    Симпатии:
    0
    Адрес:
    Новый Уренгой
    Друзья возвращаясь к старому!
    Хочу спросить - как обойти проблему ошибки 2000! - для всех браузеров!
    т.к. хочется автоматизировать и перемену года в скрипте, но запарка - дело в том что не всех браузерах это возможно - на сколько я знаю, возможно ли добавить или изменить код скрипта выше чтобы получить автоматом год
     
  6. Davil

    Davil Guest

    О какой именно ошибке идет речь?
     
  7. Mavir

    Mavir Guest

    Ошибка 2000, это проблема с 2000 годом?
     
  8. Anonymous

    Anonymous Guest

    Mavir, видимо, это год его рождения.... ;)
     
  9. HarPy

    HarPy Активный пользователь

    С нами с:
    10 июл 2006
    Сообщения:
    59
    Симпатии:
    0
    Адрес:
    Новый Уренгой
    Друзья возвращаясь к старому!
    Хочу спросить - как обойти проблему ошибки 2000! - для всех браузеров!
    т.к. хочется автоматизировать и перемену года в скрипте, но запарка - дело в том что не всех браузерах это возможно - на сколько я знаю, возможно ли добавить или изменить код скрипта выше чтобы получить автоматом год
     
  10. Davil

    Davil Guest

    Какая именно "ошибка" с 2000 годом тебя волнует? Что неправильно(не так как должно быть) происходит?
     
  11. AlexGousev

    AlexGousev Активный пользователь

    С нами с:
    25 мар 2006
    Сообщения:
    1.505
    Симпатии:
    0
    Адрес:
    Москва
    Видимо, так. Только не понятно где и в чем эта мистическая ошибка. (NN4 и IE3 уже, вроде, никто и не пользуется).
    Злой ты.... :)
     
  12. Davil

    Davil Guest

    Если (насколько я понял) ты не можешь справится с проблемой 2 or 4 цифр в дате, есть индивидуальный выход - получай дату из PHP.
     
  13. HarPy

    HarPy Активный пользователь

    С нами с:
    10 июл 2006
    Сообщения:
    59
    Симпатии:
    0
    Адрес:
    Новый Уренгой
    Нет - просто когда ставишь document.write('years[theDate.getYear()]'); и задаешь
    years[2005] ="05";
    years[2006] ="06";
    years[2007] ="07";
    Пишет что оут оф дата - что за хрень - покапавшись в мануалах прочел, что это можно обойти - но не везде - скажем так что гетФуллЙеар не работает в опере - мне нужно чтобы в опере тоге работало
     
  14. HarPy

    HarPy Активный пользователь

    С нами с:
    10 июл 2006
    Сообщения:
    59
    Симпатии:
    0
    Адрес:
    Новый Уренгой
    раньше вместо getFullYear ставил getYear -эффект тот же
     
  15. Anonymous

    Anonymous Guest

    Хм. Кто-нить что-нить понял, что он сказал? Может, у меня в понедельник мозги плохо варят?
     
  16. Davil

    Davil Guest

    Горбунов Олег я немного понял.
    HarPy а в какой версии Оперы это не работает ты не припомнишь?
     
  17. Anonymous

    Anonymous Guest

    Davil, ну так обьясни =) Может, если хоть кто то понял, мы облегчим его страдания =)
     
  18. Davil

    Davil Guest

    Ты имеешь в виду это?
    Ну тогда выделю "на сколько я знаю". Так вот теперь спрошу:
    на сколько ты знаешь?

    Горбунов Олег имеется в виду, что в 2000 году выводилось число 00 вместо 2000.
     
  19. Mavir

    Mavir Guest

    HarPy, тебе бы тоже не помешало прочитать
    Во-первых
    Во-вторых у тебя нет определяние years как массива.
    В-третьих как раз и надо использовать getFullYear, а не getYear
     
  20. HarPy

    HarPy Активный пользователь

    С нами с:
    10 июл 2006
    Сообщения:
    59
    Симпатии:
    0
    Адрес:
    Новый Уренгой
    Добавление days = new Array(); само сабой разумеется,
    Но все же при всем желании, если даже убрать опострафы -
    опера 9.01 не понимает и не хочет работать с годом!!! :(
     
  21. Davil

    Davil Guest

     
  22. Mavir

    Mavir Guest

    Все работает. Я проверял.
    Причем тут это? Должна быть строка
    years= new Array();