Посчет дней в году
Задачка вот такая:
Создайте 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, время: 12:15. |