PDA

Просмотр полной версии : Господа помогите....


ВАРАН
19.01.2004, 16:06
Запутался совсем с датами и временем.Проблема такая:
мне нужно получить кол-во дней в месяце,офкоз чтоб оно появлялось автоматом при помоще объекта date.
Что нужно прописать? :confused:

masterNick
19.01.2004, 20:02
Скриптом это не определить (насколько я знаю). Проще объявить массив этих чисел (изменяется только февраль раз в
4 года).

порядковый номер месяца определяем при помощи Date.getMonth().


все вместе будет выглядкть примерно так:

arrDays = [31,28,31,30,31,30,31,31,30,31,30,31];
//
myDate = new Date()

currentMonth = myDate.getMonth();
currentFullYear = myDate.getFullYear();
totalDays = arrDays[currentMonth];
//теперь нужно определить високосный год или нет
if(currentMonth==1 && currentFullYear%4==0){
// то есть месяц январь и год делится на четыыре без остатка
totalDays = 29
}
trace(totalDays);

ВАРАН
20.01.2004, 11:58
уууу....понятно щас поюзаю.....а зам у тебя там значёк %
это такое деление?

ВАРАН
20.01.2004, 12:07
Ок.Скрипт работает отлично спасибо.

masterNick
20.01.2004, 12:10
этот значек - оператор деления по модулю.
То есть если ты хочешь узнать остаток от деления одного числа на другое - ты используешь этот значек.

Например:

8%3 = 2 // то есть в восьмерке две тройки и остается 2

8%4 = 0 // то есть восемь содержит две 4

Это удобно использовать когда нужно определить четное число или нет. В этом случае нужно писать n%2, и если результат 0 то число четное, и тп.

В нашем случае мы узнавали делится ли год на 4 без остатка. Если делится, то год високосный, следовательно в феврале будет не 28, а 29 дней.