Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Простой вопрос по JavaScript. Работа с датой. Помогите (https://javascript.ru/forum/misc/10958-prostojj-vopros-po-javascript-rabota-s-datojj-pomogite.html)

Hanuman 30.07.2010 19:58

Простой вопрос по JavaScript. Работа с датой. Помогите
 
Господа, я в JavaScript не в зуб ногой. Но жизнь заставила разобраться в нем. Вроде бы что-то накодил, но почему-то не работает. Наверняка какие-то глупые ошибки совершил. Скрипт создал для того чтобы встроить его в виджет на blogspot. Этот скрипт очень прост. Он выводит определенный текст если текущая дата лежит в определенном диапазоне.
Подскажите пожалуйста где ошибка.
Вот скрипт:

<script language="JavaScript"> 
var now = new Date(); 
var textout; 
var year = now.getYear();
var month = now.getMonth(); 
var date = now.getDate();
var targetDate = Date.UTC(year, month, date, 0, 0, 0, 0); 
var mindate_1 = Date.UTC(year, 10, 22, 0, 0, 0, 0);
var maxdate_1 = Date.UTC(year, 11, 21, 0, 0, 0, 0);
var mindate_2 = Date.UTC(year, 11, 22, 0, 0, 0, 0);
var maxdate_2 = Date.UTC(year, 0, 21, 0, 0, 0, 0);
var mindate_3 = Date.UTC(year, 0, 22, 0, 0, 0, 0);
var maxdate_3 = Date.UTC(year, 1, 19, 0, 0, 0, 0);
var mindate_4 = Date.UTC(year, 1, 20, 0, 0, 0, 0);
var maxdate_4 = Date.UTC(year, 2, 21, 0, 0, 0, 0);
var mindate_5 = Date.UTC(year, 2, 22, 0, 0, 0, 0);
var maxdate_5 = Date.UTC(year, 3, 18, 0, 0, 0, 0);
var mindate_6 = Date.UTC(year, 3, 19, 0, 0, 0, 0);
var maxdate_6 = Date.UTC(year, 4, 20, 0, 0, 0, 0);
var mindate_7 = Date.UTC(year, 4, 21, 0, 0, 0, 0);
var maxdate_7 = Date.UTC(year, 5, 21, 0, 0, 0, 0);
var mindate_8 = Date.UTC(year, 5, 22, 0, 0, 0, 0);
var maxdate_8 = Date.UTC(year, 6, 22, 0, 0, 0, 0);
var mindate_9 = Date.UTC(year, 6, 23, 0, 0, 0, 0);
var maxdate_9 = Date.UTC(year, 7, 23, 0, 0, 0, 0);
var mindate_10 = Date.UTC(year, 7, 24, 0, 0, 0, 0);
var maxdate_10 = Date.UTC(year, 8, 22, 0, 0, 0, 0);
var mindate_11 = Date.UTC(year, 8, 23, 0, 0, 0, 0);
var maxdate_11 = Date.UTC(year, 9, 21, 0, 0, 0, 0);
var mindate_12 = Date.UTC(year, 9, 22, 0, 0, 0, 0);
var maxdate_12 = Date.UTC(year, 10, 21, 0, 0, 0, 0);

var txt1 = "Текст 1"
var txt2 = "Текст 2"
var txt3 = "Текст 3"
var txt4 = "Текст 4"
var txt5 = "Текст 5"
var txt6 = "Текст 6"
var txt7 = "Текст 7"
var txt8 = "Текст 8"
var txt9 = "Текст 9"
var txt10 = "Текст 10"
var txt11 = "Текст 11"
var txt12 = "Текст 12"

if ( targetDate >= minDate_1 & targetDate <= maxDate_1) textout = "txt1";
if ( targetDate >= minDate_2 & targetDate <= maxDate_2) textout = "txt2";
if ( targetDate >= minDate_3 & targetDate <= maxDate_3) textout = "txt3";
if ( targetDate >= minDate_4 & targetDate <= maxDate_4) textout = "txt4";
if ( targetDate >= minDate_5 & targetDate <= maxDate_5) textout = "txt5";
if ( targetDate >= minDate_6 & targetDate <= maxDate_6) textout = "txt6";
if ( targetDate >= minDate_7 & targetDate <= maxDate_7) textout = "txt7";
if ( targetDate >= minDate_8 & targetDate <= maxDate_8) textout = "txt8";
if ( targetDate >= minDate_9 & targetDate <= maxDate_9) textout = "txt9";
if ( targetDate >= minDate_10 & targetDate <= maxDate_10) textout = "txt10";
if ( targetDate >= minDate_11 & targetDate <= maxDate_11) textout = "txt11";
if ( targetDate >= minDate_12 & targetDate <= maxDate_12) textout = "txt12";

document.write (textout); 
</script>

Gvozd 30.07.2010 20:03

Цитата:

Сообщение от Hanuman
&

это побитовое, а не логическое И
http://javascript.ru/bitwise-operators
http://javascript.ru/boolean-operators

Hanuman 30.07.2010 20:24

Gvozd, спасибо за ссылки. Почитал. Понял что нужно заменить & на &&
Собственно так я и сделал.
И все равно не работает.
Дебагер Пишет MinDate_1 - определение отсутствует.
Правильно ли я определил переменную MinDate_1 (и все аналогичные) и прямо в var задал ей значение?

jetli13 30.07.2010 20:30

MinDate_1 -> mindate_1

JavaScript чувствителен к регистру


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