Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Узнать день недели (https://javascript.ru/forum/misc/9390-uznat-den-nedeli.html)

Kiev 13.05.2010 22:51

Узнать день недели
 
Приветствие всем!
У меня вопрос, как узнать день недели если известны номер месяца и дня,
допустим на 2010 год. Например 22 числа, 3-его месяца(марта) 2010 года - понедельник( 22.03.2010 - это понедельник). Как узнать, например, какой день недели 9 мая 2010 года?? Помогите, пожалуйста.:help: Без объектов Date()

subzey 13.05.2010 23:28

Лабораторная что ли?
Считайте количество дней, прошедших с 1970 года (или 2000, или 1900, по вкусу), приплюсовывайте день недели 1 января года-начала отсчета и берите остаток от деления.
Просто итеративно, с учетом количества дней в году и месяце.

e1f 14.05.2010 00:06

subzey, Вы что?
(new Date()).getDay()


UPD Мда, руки оторвать давшему задачу, ну а потом так, как написал subzey :)

Kiev 14.05.2010 00:08

subzey,
Мне можно считать кол-во прошедших дней с любого года, например с 1 янв. 2010 года, так вот я делаю так:
с 1-го января по 9 мая прошло: (январь+февраль+март+апрель + 9 мая)%7. Затем беру остаток, если остаток равен 0 - значит воскрсенье и тд. Но почему-то неверно день недели показывает...(

e1f 14.05.2010 00:11

Kiev, код выложите. Високосные года учитываете?

Kiev 14.05.2010 00:16

e1f,
Вот:
var dneiproshlo=0,mai=9;
dneiproshlo=(31+28+31+30+mai)%7;
switch(dneiproshlo)
{
  case 0:alert("Воскресенье");break;
  case 1:alert("Понедельник");break;
  case 2:alert("Вторник");break;
  case 3:alert("Среда");break;
  case 4:alert("Четверг");break;
  case 5:alert("Пятница");break;
  case 6:alert("Суббота");break;
}

Kiev 14.05.2010 00:18

e1f,
Я так понял здесь надо год ещё как-то считать? Я считаю кол-во прошедших дней с 2010 года, вроде должно верно всё выводить

e1f 14.05.2010 00:27

Kiev, а с чего Вы решили, что год начинается с воскресенья? Оо

Kiev 14.05.2010 01:02

e1f,
Ага, вот в чём подвох, нужно узнать какой день недели начинался с 1 января 2010 года, допустим если этот день пятница, значит если остаток будет 0 - это пятница и тд? Если так , то как это написать в скрипте, помогите))

Octane 14.05.2010 01:10

http://javascript.ru/date

alert(["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"][new Date(2010, 0, 1).getDay()])

Kiev 14.05.2010 01:18

Octane,
Без Date() (((

Octane 14.05.2010 01:26

Угу, поленился читать тему) Тогда считайте, subzey уже написал вам, как считать.

e1f 14.05.2010 01:49

Octane, и Вы попались :)
Цитата:

Без объектов Date()
UPD ого, спамеры :) сколько написали, пока читал :)

Kiev 14.05.2010 02:04

Ну кто поможет мне с кодом ? Ведь я не прошу готовый код с нуля у меня есть начало, но не могу понять как мне отталкиваться от 1 января до 9 мая, 1 января - это пятница, значит если остаток от прошедших дней будет 0, то это пятница, если 1 - суббота, 2-воскресенье и тд. Так или нет??

Kolyaj 14.05.2010 09:45

Цитата:

Сообщение от Kiev
Ведь я не прошу готовый код с нуля

http://yandex.ru/yandsearch?text=%D0...d=46510&lr=225

Kiev 14.05.2010 11:56

Kolyaj,
Забавный прикол вышел, я и искал инфу в инете по такому же запросу, как и Вы вписали, но искал при помощи гугла и находил ерунду непонятную, а перешёл по Вашей ссылке и сразу нашёл, то , что мне нужно.
Все, кто видел эту тему, но тоже хочет знать ответ, наведу на ссылки, где всё понятно растолковано: http://www.genon.ru/GetAnswer.aspx?q...3-4b80e91d4afe и вообще супер - http://spyrytus.narod.ru/algoritm/getdate.htm


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