Перейти к содержимому

Сервис обмена электронных валют


Преобразование дат с помощью date()

#1 admin

admin
  • Пользователь PRO
  • 5 272 сообщений
  • Репутация: 54
0

Отправлено 22 Август 2010 - 15:20

Только начинаю изучать PHP, столкнулся с первой проблемой.
У меня есть список дат такого вида:
17.11.2009
29.12.2010
01.02.2005


Нужно преобразовать все эти даты к такому виду:
2009-11-17
2010-12-29
2005-02-01


Нужно сделать с помощью функции date()
Знаю, что решается элементарно, но не знаю как ;)
Зараннее благодарен!

 

 

  • 0

Сколько лет прошло, а ссылки всё ещё лучше покупать тут



#2 admin

admin
    Topic Starter
  • Пользователь PRO
  • 5 272 сообщений
  • Репутация: 54

Отправлено 22 Август 2010 - 18:01

Сделал, как всегда, через одно место ;)

<?php

$dataList = array("24.11.2018", "02.03.2000", "17.10.2001");
for ($i=0; $i<count($dataList); $i++)

echo $y = substr($dataList[$i], 6),"-", $m = substr($dataList[$i], 3, 2), "-", $d = substr($dataList[$i], 0, 2), "<br />";

?>


Но всё ещё интересно как сделать через date() ;)
  • 0

Сколько лет прошло, а ссылки всё ещё лучше покупать тут



#3 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 22 Август 2010 - 19:46

$date = "10.09.2000";
echo date('Y-m-d', strtotime($date));

сделай функцию и будет счастье ;)
  • 0

#4 admin

admin
    Topic Starter
  • Пользователь PRO
  • 5 272 сообщений
  • Репутация: 54

Отправлено 22 Август 2010 - 20:02

sc2r2bey, спасибо, таким образом и работает быстрее, и код на много красивее и короче ;)
  • 0

Сколько лет прошло, а ссылки всё ещё лучше покупать тут



#5 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 22 Август 2010 - 20:42

ну дык надо собственными средствами делать, т.е. для даты функции даты ;)
  • 0

#6 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 22 Август 2010 - 21:47

Вообще, по спецификации, дату должен принимать по американской системе. Поэтому все может случится. Я делал так.

$date = explode('.', '10.09.2000');
$new_date = $date[2].'-'.$date[1].'-'.$date[0];

  • 0


Оформление форума – IPBSkins.ru