Посчет дней в году
Задачка вот такая:
Создайте Web-страницу, в которой по введенным с помощью окна параметрам: prompt номеру дня в месяце, наименованию месяца и типу года (високосный или не високосный) подсчитывается и выдается (с помощью окна alert) номер дня в году. Указание: количество дней до начала данного месяца (невисокосный год): январь – 0, февраль – 31, март – 59, апрель – 90, май – 120, июнь – 151, июль – 181, август – 212, сентябрь – 243, октябрь – 273, ноябрь – 314, декабрь – 334. В високосном году, начиная с марта, к количеству дней добавляется 1. Ну в принципе все понятно, задаеш 12 массивов и работаеш с ними, но for i if не работают. Выбивает просто пустое окно( <html> <head> <script> <!-- function Years; var a[1]=0,a[2]=31,a[3]=59,a[4]=90,a[5]=120,a[6]=151,a[7]=181,a[8]=212,a[9]=243,a[10]=273,a[11]=314,a[12]=334; var day=prompt("введите день:"); var month=prompt("введите месяц;"); var typey=prompt("введите тип года"); if(typey==0)//если невыскокосный год { for(i=1,i=<12,i++) { if (month==i) { day=day+a[i] }; }; else { for (i=1;i=<12;i++) if (month==i||month<=3) { day=day+a[i] } else //если выскокосный if (month==i||month>=3) { day=day+a[i]+1 } } alert("day) // --> </script> </head> <body> <script language="JavaScript"> <!-- Years(); // --> </script> </body> </html> Помогите пожалуйста) |
var day = prompt('Номер дня в месяце:'), month = ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'].indexOf(prompt('Название месяца:')), year = prompt('Год високосный:') == 'да' ? 1972 : 1970; alert( 'Номер дня в году: ' + (new Date(year, month, day) - new Date(year, 0, 0)) / 864e5 ); |
Спасибо,Riim!)
А не могли бы розкажать про: (new Date(leap ? 1972 : 1970, month, day) - new Date(leap ? 1972 : 1970, 0, 0)) / 864e5 8 ); Что именно оно делает? |
Дата - это число миллисекунд с 1970-1-1. Первая дата с месяцем и днем, вторая с нулями (года одинаковые), разница - число миллисекунд до нужной даты от начала года, делим на число миллисекунд в дне - 864e5, получаем число дней до нужной даты от начала года.
|
Часовой пояс GMT +3, время: 02:48. |