[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Функция возвращающая ДАТУ
zvezda_t
Здравствуйте!

Скажите пожалуйста, есть ли функция php для работы с датой, которая бы возвращала адекватную дату???

Например:

$data=function(30,2,2010);
print $data;

//вывод:
1.03.2010 // так как 30 февраля не существует!!!!




Спустя 6 минут, 35 секунд (17.02.2010 - 16:04) twin написал(а):
Странный вопрос...
Тоесть ты считаешь, что если корову кормить резиной, она все равно молоко будет давать а не бензин?
Как функция может узнать, что именно неадекватного в том, что ей сунули?
Почему ты решила, что за 30,2,2010 должно идти 1.03.2010, а не 3.01.2010?
В америке именно так посчитали бы.

Спустя 39 минут, 36 секунд (17.02.2010 - 16:43) sergeiss написал(а):
Есть такая фиговина... Называется DateTime. Это объект, имеющий определенные методы (функции).
Для него можно смело пытаться установить такие даты, как 35-е февраля smile.gif Он адекватно преобразует (только что проверил). В зависимости от года покажет или 6, или 7 марта.
А уж формат вывода настроить в этом объекте вообще элементарно.

Спустя 4 минуты, 3 секунды (17.02.2010 - 16:47) twin написал(а):
Цитата
Для него можно смело пытаться установить такие даты, как 35-е февраля

Вопрос в том, как ты поймешь, что это 35-е февраля а не 3-е января?

Спустя 4 минуты, 39 секунд (17.02.2010 - 16:52) sergeiss написал(а):
Цитата (twin @ 17.02.2010 - 17:47)
Вопрос в том, как ты поймешь, что это 35-е февраля а не 3-е января?

По аргументам, передаваемым в функцию (метод) setDate smile.gif
Типа такого:
	$year=2009;
$month=2;
$day=35;

$olddate=new DateTime();

$olddate->setDate( $year, $month, $day );

echo $olddate->format('Y-m-d').'<br>';

Спустя 2 минуты, 21 секунда (17.02.2010 - 16:54) twin написал(а):
Причем тут аргументы. На сколько я понял, нужно из непонятной даты сделать адекватную.
Как быть с этим:
15.07.2010
Какое это число?

Спустя 3 минуты, 43 секунды (17.02.2010 - 16:58) sergeiss написал(а):
Тут речь больше о том, что имел(а) ввиду ТС. Исходя из правил женской логики (как-никак уже более 20 лет изучаю wink.gif) я пришел к выводу, что изначально вопрос был о том, что даже если указан некорректный день месяца, больше, чем в этом месяце возможно, то как (какой функцией) можно вычислить правильную дату?
Ну, например, то же "35-е февраля" перевести в 6 (или 7) марта, в зависимости от високосности года.

Исходя из этого понимания вопроса я и дал ответ.

PS. И даже более того: в "моем" примере можно указывать и отрицательный день. Уйдем в январь. При бОльших числах - в декабрь и т.д.

PPS. Вобщем-то, такой подход позволяет не особо "париться" при поиске дат, больше/меньше известной. Известна одна дата - прибавляем сколько-то дней (а можно и месяцев, лет) - на выходе получаем правильный результат. Можно это прибавки делать по-другому (есть там методы).
Собственно говоря, там и со временем можно так же работать.

Спустя 1 час, 20 минут, 48 секунд (17.02.2010 - 18:19) zvezda_t написал(а):
Цитата
вопрос был о том, что даже если указан некорректный день месяца, больше, чем в этом месяце возможно, то как (какой функцией) можно вычислить правильную дату


Да ! именно это мне и было нужно ! спасибо!

Спустя 12 часов, 54 минуты, 4 секунды (18.02.2010 - 07:13) zvezda_t написал(а):
$olddate=new DateTime();

$olddate->setDate( $year, $month, $day );

$olddate->format('Y-m-d');


скажите пожалуйста где можно почитать описание функций этого класса????


Спустя 3 часа, 10 минут, 35 секунд (18.02.2010 - 10:23) sergeiss написал(а):
Цитата (zvezda_t @ 18.02.2010 - 08:13)
скажите пожалуйста где можно почитать описание функций этого класса????

У меня в подписи есть ссылка "Хэлп по РНР". Вот там и найдешь. А заодно и ВСЕ функции ПХП, плюс неплохое описалово по ПХП. Правда, надо знать аглицкий на уровне чтения технической документации...

Спустя 14 дней, 23 часа, 7 минут, 46 секунд (3.03.2010 - 09:31) TakoY написал(а):
хм...
стандартная функция mktime — делает то же самое


_____________

Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)
Быстрый ответ:

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