Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: форматирование даты

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
psevdo
Отправлено: 14 Октября, 2010 - 08:05:30
Post Id



Гость


Покинул форум
Сообщений всего: 101
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




Приветствую. Передо мной стоит задача сравнить две даты:
1) первая это текущая. Сейчас получаю как date('d-m-Y')
2) вторая передается в переменной в формате dd-mm-yy

Сравнить пытаюсь так:


Сравнивает не корректно, потому что обе даты нужно привести к формату yy-mm-dd. С первой датой это не проблема. Но вот как привести вторую дату к этому формату (на этапе передачи переменной с датой это делать не могу)?

(Отредактировано автором: 14 Октября, 2010 - 08:06:10)

 
 Top
SAD
Отправлено: 14 Октября, 2010 - 08:52:05
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




Быть такого не может - приведите кусок кода
 
 Top
garvey
Отправлено: 14 Октября, 2010 - 08:56:37
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010  
Откуда: Minsk


Помог: 3 раз(а)




Для strtotime год не должен быть сокращенным. Передавайте YYYY-MM-DD.
Только что тестировал вот так:
PHP:
скопировать код в буфер обмена
  1. $date1 = time();
  2. $date2 = '2010-10-15';
  3. echo (strtotime($date2) - $date1);

Работает корректно.
 
 Top
psevdo
Отправлено: 14 Октября, 2010 - 13:28:31
Post Id



Гость


Покинул форум
Сообщений всего: 101
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




SAD пишет:
Быть такого не может - приведите кусок кода

Вот кусок кода:
PHP:
скопировать код в буфер обмена
  1. if(strtotime($_POST['date_start']) < strtotime(date('d-m-Y')))
  2.     $date_start=$_POST['date_start'];
  3. else $date_start=date('d-m-Y');


Я заметил такую особенность. Допустим сегодня 14.10.2010.. Если в $_POST['date_start'] содержится 14.09.2010, то все вроде как нормально. Но если там находится дата побольше, н-р 15.09.2010, то тут начинает косячить. Как будто месяца не различает.

(Отредактировано автором: 14 Октября, 2010 - 13:31:34)

 
 Top
Саныч Модератор
Отправлено: 14 Октября, 2010 - 13:41:35
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




может лучше так будет
PHP:
скопировать код в буфер обмена
  1. $res = split('.',$_POST['date_start']);
  2. if(mktime(0,0,0,$res[1],$res[0],$res[2]) < time()) $date_start=$_POST['date_start'];
  3. else $date_start=date('d-m-Y');


или еще короче
PHP:
скопировать код в буфер обмена
  1. $res = split('.',$_POST['date_start']);
  2. $date_start = (mktime(0,0,0,$res[1],$res[0],$res[2]) < time()) ? $_POST['date_start'] : date('d-m-Y');

(Отредактировано автором: 14 Октября, 2010 - 13:44:10)



-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
SAD
Отправлено: 14 Октября, 2010 - 13:46:16
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




даты в одинаковых форматах нормально сравниваются. надо только к этому формату их привести
 
 Top
psevdo
Отправлено: 14 Октября, 2010 - 13:56:56
Post Id



Гость


Покинул форум
Сообщений всего: 101
Дата рег-ции: Сент. 2010  


Помог: 0 раз(а)




Саныч, рахмат бик зур) выручил!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB