Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите разобраться с датами.
 
 автор: nickmas   (18.06.2005 в 05:38)   письмо автору
 
 

Есть переменные строкового типа, в которых лежат даты:

$variable1 = 12.05.2004
$variable1 = 7.11.2005
$variable1 = 6.08.1999
$variable1 = 1.12.2001 и т.д.

Подскажите, есть ли какая-нибудь функция, которая может выбрать из n дат 3 послених (самых свежих).
Или может есть другой способ, который поможет оптимально решить эту задачу.

   
 
 автор: FlashG   (18.06.2005 в 11:10)   письмо автору
 
   для: nickmas   (18.06.2005 в 05:38)
 

Такую функцию написать можно, но сложно. Гораздо проще в твоем случае использовать timestamp (количество секунд, прошедших с начала компьютерной эры). Timestamp представляет собой многозначное целое число и вызывается функцией

$<имя_переменной>=time();

Думаю, ты сам понимаешь, что производить сортировку по целым числам гораздо проще.
В php есть стандартная функция для извлечения даты из timestamp'а, либо ты можешь написать свою, которая будет выводить дату/время в нужном тебе формате.

   
 
 автор: cheops   (18.06.2005 в 11:56)   письмо автору
 
   для: nickmas   (18.06.2005 в 05:38)
 

Хм... а имена переменных совпадают? Или даты храняться в массиве?

В любом случае, как правильно говорит FlashG, следует перевести даты в число секунд, прошедшее с 1 января 1970 года - тогда их будет проще сортировать и выбрать последние 3.
<?php 
  $variable1 
"12.05.2004";
  list(
$day,$month,$year) = explode(".",$variable1);
  
$timestamp mktime(000$month$day$year);
  echo 
$timestamp;
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования