Из 09-11-2007 слепить 09-11-2007

  • Автор темы Автор темы Asar
  • Дата начала Дата начала

Asar

Новичок
Из 09-11-2007 слепить 09-11-2007

Народ, у кого какие мнения — есть вариант означенного в теме перехода проще и грамотнее, чем тупая разбивка по дефису (explode) с последующей подстановкой нужных элементов массива?
 
Asar
Честно говоря я не вижу разницы между:
и
По этому непонятно что и во что ты хочеш перевести.

Но в данном случае я бы воспользовался explode для разбивки по дефису и последующую склейку так как надо.

Update:
Опоздал на 1 минуту...
 
Gas,
Спасиб, как раз с date ворочаюсь, только не дошло, что можно так хорошо сделать.

ToAll,
Ну да, скопипастил тупо, а сменить порядок чисел забыл. Имелось ввиду «Из 09-11-2007 слепить 2007-11-09».
 
Asar
Последний комментарий к описанию strtotime говорит, что она распознает дату 09-11-2007 как 11 сентября, а не 9 ноября.

Вот сам комментарий:
strtotime() reads the timestamp in en_US format if you want to change the date format with this number, you should previously know the format of the date you are trying to parse. Let's say you want to do this :

strftime("%Y-%m-%d",strtotime("05/11/2007"));

It will understand the date as 11th of may 2007, and not 5th of november 2007. In this case I would use:

$date = explode("/","05/11/2007");
strftime("%Y-%m-%d",mktime(0,0,0,$date[1],$date[0],$date[2]));

Much reliable but you must know the date format before. You can use javascript to mask the date field and, if you have a calendar in your page, everything is done.

Thank you.
 
phprus
ага, только что проверил - не катит,
можно ещё так извратиться (короче чем регом):
PHP:
implode('-',array_reverse(explode('-','09-11-2007')));
 
Дата откуда приходит?
 
Gas
можно ещё так извратиться (короче чем регом):
Почему-же извратиться? ИМХО вполне нормально решение. И действительно более короткое чем регулярным выражением.
 
Asar да хороший вопрос задал Mr_Max дата откуда приходит? Формируй при выводе нужный формат.
 
Дата приходит с $_GET.
Спасиб за совет по поводу реверса, сам бы не дотумкал бы... А так вроде пашет.
 
Это было из разряда "а можно ещё так изъ**нуться", вариант с explode и последующим склеиванием будет попроще для понимания тому, кто будет код потом поддерживать.
 
Gas
Этот вариант читабелен на все 100%, если поддерживать будут такие бараны что не поймут сходу, то это не значит что стоит писать говнокод :)
 
HraKK, поддерживаю, даже для меня — и то читабелен, а куда уж тупее-то?
 
PHP:
$a = '09-11-2007';

function change_substr ($a)
{
	return substr($a, -4) . '-' . substr($a, 3, 2) . '-' . substr($a, 0, 2);
}

такой вариант думаю будет побыстрее...
 
побыстрее - тут не тот случай.
естественно это первое что пришло в голову, но банально и на 8 символов длинее :)
 
Сверху