[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подробнее о date('t');
Ramzil_Nixon
Здрасти всем!
Я тут про time('t'); искал информацию, и ничего стоящего не на нашел, может вы в крадце расскажете, как его применить?



Спустя 10 минут, 48 секунд (22.11.2011 - 07:39) bulgakov написал(а):
Насколько я знаю time() не принимает аргументов а просто возвращает временную метку.

Спустя 2 минуты, 6 секунд (22.11.2011 - 07:41) Ramzil_Nixon написал(а):
time('t');. Говорили что это как то делает так чтобы в феврале было 28 чисел, в июне 30 например. Вот только не знаю, как использовать



P.S. Аргументы принимют, погуглите и все найдете

Спустя 2 минуты, 13 секунд (22.11.2011 - 07:43) bulgakov написал(а):
Цитата
P.S. Аргументы принимют, погуглите и все найдете

Смотрим описание функции:

int time ( void )

Спустя 2 минуты, 5 секунд (22.11.2011 - 07:45) bulgakov написал(а):
Может вы про функцию date? Если date("t") то это количество дней в текущем месяце.

Спустя 4 минуты, 2 секунды (22.11.2011 - 07:49) McLotos написал(а):
time -- Возвращает текущую метку времени
Возвращает количество секунд, прошедших с начала Эпохи Unix (The Unix Epoch, 1 января 1970, 00:00:00 GMT) до текущего времени.
для твоей задачи лучше подходит date()
http://php.su/functions/?date

Спустя 2 минуты, 35 секунд (22.11.2011 - 07:52) Ramzil_Nixon написал(а):
Цитата (bulgakov @ 22.11.2011 - 04:45)
Может вы про функцию date? Если date("t") то это количество дней в текущем месяце.

Точно date('t'); Балин опять ошибся biggrin.gif

Цитата (McLotos @ 22.11.2011 - 04:49)
для твоей задачи лучше подходит date() http://php.su/functions/?date

Я там не совсем понял, прочитал уже rolleyes.gif

Спустя 11 минут, 34 секунды (22.11.2011 - 08:03) Ramzil_Nixon написал(а):
McLotos, например
У меня есть массив $meses для месяцев, написано там информация кирилицами, то есть Январь, Февраль и т.д.

Вот а в массиве $date числа до 31

Так будет?

$date = date('t', $meses);

?

Спустя 9 минут, 19 секунд (22.11.2011 - 08:13) bulgakov написал(а):
Ramzil_Nixon
Приучите себя читать официальную документацию, смотрим описание функции date:
string date ( string $format [, int $timestamp = time() ] )

Первый аргумент это строка форматирования, как отображать дату или время, вторай аргумент необязательный - временная метка. По умолчанию равна текущему времени.

Спустя 45 секунд (22.11.2011 - 08:13) bulgakov написал(а):
Ramzil_Nixon
Вам нужно отображать русскими буквами название текущего месяца или что? подробнее напишите задачу.

Спустя 3 минуты, 9 секунд (22.11.2011 - 08:17) Ramzil_Nixon написал(а):
Цитата (bulgakov @ 22.11.2011 - 05:13)
Вам нужно отображать русскими буквами название текущего месяца или что? подробнее напишите задачу.



Нет, у меня русскими буквами хранятся названии месяцвев вот:


$meses = array('Январь',
'Февраль',
'Март',
'Апрель',
'Май',
'Июнь',
'Июль',
'Август',
'Сентябрь',
'Октябрь',
'Ноябрь',
'Декабрь');

Спустя 3 минуты, 1 секунда (22.11.2011 - 08:20) bulgakov написал(а):
Цитата
Ramzil_Nixon
Вам нужно отображать русскими буквами название текущего месяца или что? подробнее напишите задачу.

Если да, то это будет примерно так:

$m = date("m");
switch($m){
case "01": echo $meses[0];break;
case "02": echo $meses[1];break;
case "03": echo $meses[2];break;
case "04": echo $meses[3];break;
case "05": echo $meses[4];break;
case "06": echo $meses[5];break;
case "07": echo $meses[6];break;
case "08": echo $meses[7];break;
case "09": echo $meses[8];break;
case "10": echo $meses[9];break;
case "11": echo $meses[10];break;
case "12": echo $meses[11];break;
}


Спустя 36 секунд (22.11.2011 - 08:20) bulgakov написал(а):
Цитата
Нет, у меня русскими буквами хранятся названии месяцвев вот:

Я понимаю, но задача в чем? Отображать текущий месяц по русски?

Спустя 2 минуты, 35 секунд (22.11.2011 - 08:23) Ramzil_Nixon написал(а):
Цитата (bulgakov @ 22.11.2011 - 05:20)
Я понимаю, но задача в чем? Отображать текущий месяц по русски?

НЕт не в этом. Задача в том, чтобы например в феврале не было возможности выбрать числа 29, 30 и 31. Не считая високосные года

Спустя 4 минуты, 10 секунд (22.11.2011 - 08:27) bulgakov написал(а):
Выбрать откуда? код покажите хоть, что вы пытаетесь сделать.

Спустя 3 минуты, 15 секунд (22.11.2011 - 08:30) bulgakov написал(а):
$num = int(date("t"));

В $num будет число дней текущего месяца, берите эту переменную и сравнивайте с чем нужно, если нужен другой месяц можно передать вторым параметром временную метку.

Спустя 1 минута, 24 секунды (22.11.2011 - 08:32) Ramzil_Nixon написал(а):
Вот код пожалуйста:


<?php
$date = array('01',
'02',
'03',
'04',
'05',
'06',
'07',
'08',
'09',
'10',
'11',
'12',
'13',
'14',
'15',
'16',
'17',
'18',
'19',
'20',
'21',
'22',
'23',
'24',
'25',
'26',
'27',
'28',
'29',
'30',
'31'); // Массив даты рождения
$meses = array('Январь',
'Февраль',
'Март',
'Апрель',
'Май',
'Июнь',
'Июль',
'Август',
'Сентябрь',
'Октябрь',
'Ноябрь',
'Декабрь'); // Массив месяца рождения
$god = array('1950',
'1951',
'1952',
'1953',
'1954',
'1955',
'1956',
'1957',
'1958',
'1959',
'1960',
'1961',
'1962',
'1963',
'1964',
'1965',
'1966',
'1967',
'1968',
'1969',
'1970',
'1971',
'1972',
'1973',
'1974',
'1975',
'1976',
'1977',
'1978',
'1979',
'1980',
'1981',
'1982',
'1983',
'1984',
'1985',
'1986',
'1987',
'1988',
'1989',
'1990',
'1991',
'1992',
'1993',
'1994',
'1995',
'1996',
'1997',
'1998',
'1999',
'2000',
'2001',
'2002',
'2003',
'2004',
'2005',
'2006',
'2007',
'2008',
'2009',
'2010',
'2011'); // Массив года
echo 'Дата рождения:<br>';
echo '<select name="date">';
echo '<option value="--" disabled '.($_POST['date'] == 0 || $_POST['date'] == '--' ? 'selected="selected"' : ' ').'>День</option>';
foreach($date as $dd)
echo '<option value="'.$dd.'" '.($dd == $_POST['date'] ? 'selected="selected"' : ' ').'>'.$dd.'</option>';
echo '</select> ';
echo '<select name="meses">';
echo '<option value="--" disabled '.($_POST['meses'] == 0 || $_POST['meses'] == '--' ? 'selected="selected"' : ' ').'>Месяц</option>';
foreach($meses as $mm)
echo '<option value="'.$mm.'" '.($mm == $_POST['meses'] ? 'selected="selected"' : ' ').'>'.$mm.'</option>';
echo '</select> ';
echo '<select name="god">';
echo '<option value="----" disabled '.($_POST['god'] == 0 || $_POST['god'] == '----' ? 'selected="selected"' : ' ').'>Год</option>';
foreach($god as $gggg)
echo '<option value="'.$gggg.'" '.($gggg == $_POST['god'] ? 'selected="selected"' : ' ').'>'.$gggg.'</option>';
echo '</select>';
?>


Я пока еще ничего не написал.

А хочу написать следующее, когда пользователь допустим выбрал месяц июнь(там нет 31 числа) не было доступно 31 числа

Спустя 37 секунд (22.11.2011 - 08:32) Ramzil_Nixon написал(а):
Цитата (bulgakov @ 22.11.2011 - 05:30)
В $num будет число дней текущего месяца, берите эту переменную и сравнивайте с чем нужно, если нужен другой месяц можно передать вторым параметром временную метку.



Ок щас попробуем

Спустя 1 минута, 22 секунды (22.11.2011 - 08:34) bulgakov написал(а):
Или же сделать ассоциативный массив где ключ=>значение будет имя месяца=>количество дней в месяце. И его уже использовать

Спустя 1 минута, 46 секунд (22.11.2011 - 08:35) Invis1ble написал(а):
Ramzil_Nixon
Цитата
когда пользователь допустим выбрал месяц июнь(там нет 31 числа) не было доступно 31 числа

это делается либо аяксом, либо на стороне клиента. Если аяксом - юзай date('t', $time), где $time - timestamp нужного месяца. Пример:
echo 'В феврале 2011 года ' . date('t', strtotime('2011-02')) . ' дней';

Спустя 1 минута, 21 секунда (22.11.2011 - 08:37) Ramzil_Nixon написал(а):
Цитата (Invis1ble @ 22.11.2011 - 05:35)
это делается либо аяксом,


Все таки Ajax? Да обрадовали вы меня rolleyes.gif

Спустя 32 секунды (22.11.2011 - 08:37) bulgakov написал(а):
Цитата
это делается либо аяксом, либо на стороне клиента. Если аяксом - юзай date('t', $time), где $time - timestamp нужного месяца. Пример:

Гм, а это аякс? а не php?

Спустя 1 минута, 53 секунды (22.11.2011 - 08:39) Invis1ble написал(а):
bulgakov
я имею ввиду, что можно либо синхронизироваться с сервером по событию onchange для select'а с помощью аякса, и на стороне сервера форимировать ответ используя вышепреведенный пример, либо - (что по идее правильней) написать аналогичный скрипт на js

Спустя 1 минута, 6 секунд (22.11.2011 - 08:40) bulgakov написал(а):
Invis1ble
Наверное, но что я не пойму так это что точно нужно ТС, ибо даже примера кода и внятного описания задачи не было приведено.
P.S. извиняюсь, уже увидел код. Щас глянем.

Спустя 1 минута, 41 секунда (22.11.2011 - 08:42) Ramzil_Nixon написал(а):
щас попробую на Ajax'е написать,

Спустя 18 секунд (22.11.2011 - 08:42) Invis1ble написал(а):
bulgakov
пример кода см. выше.
Смысл такой - есть 3 селекта - год, месяц и день. На день ставится disabled и при выборе года и месяца формируется набор доступных дней для данной даты, чтобы можно было выбрать корректное число.

Спустя 2 минуты, 3 секунды (22.11.2011 - 08:44) Ramzil_Nixon написал(а):
кстати у меня еще вопрос, date('t') считает високосные года? или нет?

Спустя 45 секунд (22.11.2011 - 08:45) bulgakov написал(а):
Ramzil_Nixon
Есть такая полезная функция range, вместо того что бы вручную писать массивы чисел можно сделать например так:
$arr_date = range(1950, 61); // $arr_date будет содержать массив дат с 1950 года по 2011

Спустя 6 секунд (22.11.2011 - 08:45) Invis1ble написал(а):
Ramzil_Nixon
а в мануал заглянуть религия не позволяет ?

Спустя 1 минута, 18 секунд (22.11.2011 - 08:46) Ramzil_Nixon написал(а):
Цитата (bulgakov @ 22.11.2011 - 05:45)
Есть такая полезная функция range, вместо того что бы вручную писать массивы чисел можно сделать например так:
$arr_date = range(1950, 61); // $arr_date будет содержать массив дат с 1950 года по 2011


--------------------


Как то в голову не пришло

Спустя 3 минуты, 5 секунд (22.11.2011 - 08:49) bulgakov написал(а):
Цитата
кстати у меня еще вопрос, date('t') считает високосные года? или нет?

date("L") возвращает 1 если это високосный год 0 если нет.

Спустя 17 минут, 34 секунды (22.11.2011 - 09:07) Ramzil_Nixon написал(а):
Понятно, спасибо


_____________
Миллионы приходят, уходят, не в них счастье. Самым важным на свете всегда будут люди в этой комнате, вот здесь, сейчас...

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.