Скажите пожалуйста, есть ли функция 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?
В америке именно так посчитали бы.
Тоесть ты считаешь, что если корову кормить резиной, она все равно молоко будет давать а не бензин?
Как функция может узнать, что именно неадекватного в том, что ей сунули?
Почему ты решила, что за 30,2,2010 должно идти 1.03.2010, а не 3.01.2010?
В америке именно так посчитали бы.
Спустя 39 минут, 36 секунд (17.02.2010 - 16:43) sergeiss написал(а):
Есть такая фиговина... Называется DateTime. Это объект, имеющий определенные методы (функции).
Для него можно смело пытаться установить такие даты, как 35-е февраля Он адекватно преобразует (только что проверил). В зависимости от года покажет или 6, или 7 марта.
А уж формат вывода настроить в этом объекте вообще элементарно.
Для него можно смело пытаться установить такие даты, как 35-е февраля Он адекватно преобразует (только что проверил). В зависимости от года покажет или 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
Типа такого:
$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
Какое это число?
Как быть с этим:
15.07.2010
Какое это число?
Спустя 3 минуты, 43 секунды (17.02.2010 - 16:58) sergeiss написал(а):
Тут речь больше о том, что имел(а) ввиду ТС. Исходя из правил женской логики (как-никак уже более 20 лет изучаю ) я пришел к выводу, что изначально вопрос был о том, что даже если указан некорректный день месяца, больше, чем в этом месяце возможно, то как (какой функцией) можно вычислить правильную дату?
Ну, например, то же "35-е февраля" перевести в 6 (или 7) марта, в зависимости от високосности года.
Исходя из этого понимания вопроса я и дал ответ.
PS. И даже более того: в "моем" примере можно указывать и отрицательный день. Уйдем в январь. При бОльших числах - в декабрь и т.д.
PPS. Вобщем-то, такой подход позволяет не особо "париться" при поиске дат, больше/меньше известной. Известна одна дата - прибавляем сколько-то дней (а можно и месяцев, лет) - на выходе получаем правильный результат. Можно это прибавки делать по-другому (есть там методы).
Собственно говоря, там и со временем можно так же работать.
Ну, например, то же "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 — делает то же самое
стандартная функция mktime — делает то же самое
_____________
Что ты сделал сегодня - для завтра?
"Приидите ко Мне вси труждающиеся и обремененнии и Аз упокою вы, возмите иго Мое на себе и научитеся от Мене яко кроток есмь и смирен сердцем и обрящете покой душам вашим, иго бо Мое благо и бремя Мое легко есть."(Мф. 11:28-30)