странное поведение Weekday

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

странное поведение Weekday

Сообщение kuhtiov » 03.11.2008 (Пн) 19:08

Ребят, проверьте пожалуйста что возвращает Weekday на 03.11.2008
MyDate = Date$
MsgBox Weekday(MyDate, vbMonday)

у меня почиму-то 2 возвращается, всесто 1. Поясните пжлст. почиму?
К стати, если брать чила после середины месяца, все в порядке! не пойму в чем дело

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: странное поведение Weekday

Сообщение Sebas » 03.11.2008 (Пн) 19:22

потому что неделя начинается с воскресения.
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Re: странное поведение Weekday

Сообщение Williams » 03.11.2008 (Пн) 20:05

Sebas писал(а):потому что неделя начинается с воскресения

..в Израиле.
И вы думаете, что вас оставят в живых после прочтения этого поста?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: странное поведение Weekday

Сообщение iGrok » 03.11.2008 (Пн) 20:46

Код: Выделить всё
?Date$
11-03-2008
?WeekDay(Date$, vbMonday)
2
?WeekDay("03.11.2008", vbMonday)
1
?WeekDay(Now(), vbMonday)
1

Ы? =)

kuhtiov писал(а):...почиму-то 2 возвращается, всесто 1. Поясните пжлст. почиму?
К стати, если брать чила после середины месяца, все в порядке! не пойму в чем дело...


http://ru.wikisource.org/wiki/Орфографический_словарь_русского_языка
label:
cli
jmp label

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Re: странное поведение Weekday

Сообщение kuhtiov » 04.11.2008 (Вт) 10:43

Weekday(Format(Date$, "mm.dd.yyyy"), vbMonday) заработало верно, но я не понял почиму :(

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: странное поведение Weekday

Сообщение Antonariy » 04.11.2008 (Вт) 11:24

Потому что ты явно указал, с какого дня начинается неделя.
Лучший способ понять что-то самому — объяснить это другому.

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: странное поведение Weekday

Сообщение iGrok » 04.11.2008 (Вт) 11:35

Блин. Что, неужели никто не понял?
Да потому, что 11.03.2008 действительно не понедельник, а вторник!
А вот 03.11.2008 - понедельник.

З.Ы. А вот почему оно в таком виде заработало..
Короче, дату в виде xx-xx-xxxx он воспринимает, как dd-mm-yyyy. Исключением будут только mm больше 12. Тогда они будут восприниматься как дни.
А вот в виде xx.xx.xxxx - воспринимает правильно.
З.З.Ы. Может, у кого есть полное описание того, как VB воспринимает написанные даты?
label:
cli
jmp label

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Re: странное поведение Weekday

Сообщение kuhtiov » 05.11.2008 (Ср) 8:01

Епти, точно, не обратил на это внимания. Спасибо что пояснил :eye:

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Re: странное поведение Weekday

Сообщение Sebas » 05.11.2008 (Ср) 9:28

iGrok писал(а):Блин. Что, неужели никто не понял?
Да потому, что 11.03.2008 действительно не понедельник, а вторник!
А вот 03.11.2008 - понедельник.

З.Ы. А вот почему оно в таком виде заработало..
Короче, дату в виде xx-xx-xxxx он воспринимает, как dd-mm-yyyy. Исключением будут только mm больше 12. Тогда они будут восприниматься как дни.
А вот в виде xx.xx.xxxx - воспринимает правильно.
З.З.Ы. Может, у кого есть полное описание того, как VB воспринимает написанные даты?


Точно(

Date$ - убивать за такое надо, получает день недели из строчного описания. молодежжжжь
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: странное поведение Weekday

Сообщение iGrok » 05.11.2008 (Ср) 14:06

2автор:
Используй лучше
WeekDay(Now(), vbMonday)
Это кажись всё-таки правильнее. )
label:
cli
jmp label


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 19

    TopList