$d = '2012-01-05 19:54:31';
$d = date("Y.m.d H:i", strtotime($d));
Впринципе, работает. Но так правильно? или в strtotime() можно подставлять только дату в текстовом формате на английском языке ( клик ) ?
Спустя 3 минуты, 50 секунд (5.01.2012 - 18:59) killer8080 написал(а):
kollega
из БД можно доставать дату сразу в нужном виде
из БД можно доставать дату сразу в нужном виде
Спустя 2 минуты, 57 секунд (5.01.2012 - 19:02) kollega написал(а):
killer8080, я знаю :
Но там параметр: '%d-%m-%Y' с процентами. а у меня Y.m.d H:i (без "%" и их не подставить).
....DATE_FORMAT(`date`,'%d-%m-%Y') AS `date`...
Но там параметр: '%d-%m-%Y' с процентами. а у меня Y.m.d H:i (без "%" и их не подставить).
Спустя 57 секунд (5.01.2012 - 19:02) inpost написал(а):
kollega
Тебе внутри пхп, или при выборке из БД? Если выборка из БД, то DATE_FORMAT.
Тебе внутри пхп, или при выборке из БД? Если выборка из БД, то DATE_FORMAT.
Спустя 1 минута, 49 секунд (5.01.2012 - 19:04) kollega написал(а):
inpost, смотри выше
Спустя 3 минуты, 43 секунды (5.01.2012 - 19:08) killer8080 написал(а):
Цитата (kollega @ 5.01.2012 - 18:02) |
Но там параметр: '%d-%m-%Y' с процентами. а у меня Y.m.d H:i (без "%" и их не подставить). |
Причем здесь проценты?
....DATE_FORMAT(`date`,'%Y.%m.%d %H:%i') AS `date`...
Спустя 2 минуты, 43 секунды (5.01.2012 - 19:11) kollega написал(а):
А можно без них? Просто так:
....DATE_FORMAT(`date`,'Y.m.d H:i') AS `date`...?
Спустя 26 секунд (5.01.2012 - 19:11) Winston написал(а):
Цитата (kollega @ 5.01.2012 - 18:02) |
(без "%" и их не подставить). |
Дык они и не будут подставляться, % нужен только для того, чтобы символы d m Y и т.п. воспринялись как матасиволы, а не обычные литералы.
Спустя 1 минута, 19 секунд (5.01.2012 - 19:12) killer8080 написал(а):
kollega
собственно Winston уже ответил
собственно Winston уже ответил
Спустя 2 минуты, 43 секунды (5.01.2012 - 19:15) kollega написал(а):
killer8080, Winston, значит я не так объяснил. Объясню еще раз.
В общем есть в переменной какая-то дата. Необходимо изменить её формат на какой-то другой. Я использую вот этот метод:
Причем переменная $fd задается из админки сайта (без '%').
В общем есть в переменной какая-то дата. Необходимо изменить её формат на какой-то другой. Я использую вот этот метод:
$fd = 'Y.m.d H:i';
$d = '2012-01-05 19:54:31';
$d = date($fd, strtotime($d));
Причем переменная $fd задается из админки сайта (без '%').
Спустя 7 минут, 35 секунд (5.01.2012 - 19:23) killer8080 написал(а):
Цитата (kollega @ 5.01.2012 - 18:15) |
Причем переменная $fd задается из админки сайта (без '%'). |
В php date() проценты и не нужны, вопрос - откуда дата изначально берётся? Если из БД, то логично было бы её отформатировать на стороне самой БД, а в php принять уже в нужном виде.
Спустя 6 минут, 47 секунд (5.01.2012 - 19:30) kollega написал(а):
В админке, на странице настроек я меняю формат вывода даты на 'Y.m.d H:i'-> нажимаю кнопку сохранить и эта настройка сохраняется в файл. Далее при выводе статьи вызываю этот файл с настройками и извлекаю эту настройку даты(т.е. 'Y.m.d H:i') . Далее вытаскиваю все данные по данной статье и делаю вот это :
где $d - дата добавления статьи, вытащенная из mysql
$fd - настройка даты(т.е. 'Y.m.d H:i')
Такой способ верный?
Вот так-то нельзя:
$d = '2012-01-05 19:54:31';
$d = date($fd, strtotime($d));
где $d - дата добавления статьи, вытащенная из mysql
$fd - настройка даты(т.е. 'Y.m.d H:i')
Такой способ верный?
Вот так-то нельзя:
....DATE_FORMAT(`date`,'Y.m.d H:i') AS `date`...
Спустя 16 минут, 39 секунд (5.01.2012 - 19:46) killer8080 написал(а):
Цитата (kollega @ 5.01.2012 - 18:30) |
Такой способ верный? |
Если есть надобность оперативно менять формат даты, то можно и так. Так же переменную можно подставлять в sql запрос, и соответственно задавать формат по правилам sql. Разницы нет, как тебе удобней, так и делай
Спустя 4 минуты, 13 секунд (5.01.2012 - 19:50) kollega написал(а):
Цитата (killer8080 @ 5.01.2012 - 16:46) |
Так же переменную можно подставлять в sql запрос, и соответственно задавать формат по правилам sql. |
Приведи пример. есть:
$fd = 'Y.m.d H:i';
что дальше?
Спустя 4 минуты, 14 секунд (5.01.2012 - 19:55) killer8080 написал(а):
kollega
кстати ты можешь сразу брать из БД timestamp, тогда можно обойтись без strtotime()
а в php
как вариант
кстати ты можешь сразу брать из БД timestamp, тогда можно обойтись без strtotime()
... UNIX_TIMESTAMP( `date` ) AS `date` ...
а в php
$d = '2012-01-05 19:54:31';
$d = date("Y.m.d H:i", $row['date']);
как вариант
Спустя 2 минуты, 41 секунда (5.01.2012 - 19:57) killer8080 написал(а):
Цитата (kollega @ 5.01.2012 - 18:50) |
Приведи пример. есть: $fd = 'Y.m.d H:i'; что дальше? |
Не
$fd = 'Y.m.d H:i';
а
$fd = '%Y.%m.%d %H:%i';
подставляешь в запрос
mysql_query("SELECT DATE_FORMAT(`date`,'".$fd."') AS `date`...")
Спустя 1 минута, 45 секунд (5.01.2012 - 19:59) kollega написал(а):
Вот я про это и говорил, что у меня 'Y.m.d H:i' а не '%Y.%m.%d %H:%i', поэтому сразу в запрос нельзя.
killer8080 +
killer8080 +
Спустя 2 минуты, 49 секунд (5.01.2012 - 20:02) killer8080 написал(а):
Цитата (kollega @ 5.01.2012 - 18:59) |
Вот я про это и говорил, что у меня 'Y.m.d H:i' а не '%Y.%m.%d %H:%i', поэтому сразу в запрос нельзя. |
Ну так и в чем собственно вопрос?
Спустя 1 минута, 20 секунд (5.01.2012 - 20:03) kollega написал(а):
Вопрос был можно-ли сделать так:
для изменения формата даты
ОТВЕТ: МОЖНО
$d = '2012-01-05 19:54:31';
$d = date("Y.m.d H:i", strtotime($d));
для изменения формата даты
ОТВЕТ: МОЖНО
Спустя 2 минуты, 10 секунд (5.01.2012 - 20:05) killer8080 написал(а):
Цитата (kollega @ 5.01.2012 - 19:03) |
ОТВЕТ: МОЖНО |
само собой
Спустя 2 минуты, 12 секунд (5.01.2012 - 20:08) kollega написал(а):
killer8080, спасиб за помощь))))