НЕЗНАЙКА » 2009.12.16 16:37

Код:

1
span style="color: #0000BB"><?php$times = '15.12.2009 16:45:23';function data($times){$time = date("H:i", strtotime($times));$day = date("d.m.Y", strtotime($times));$vchera = date("d.m.Y", strtotime("-1 day"));$time = date("H:i", strtotime($times)); if(date("d.m.Y") == $day) { return 'Сегодня в '.$time; } elseif($vchera == $day) { return 'Вчера в '.$time; } else { return $times; }}?>

Упростить возможно? Входная дата видишь какая

Gemorroj » 2009.12.16 18:37

хз что тут упрощать еще)
$time = date("H:i", strtotime($times)); - 2 раза повторяется.

НЕЗНАЙКА » 2009.12.16 19:17

Ну это скопировал так. А вцелом на гомнокод не годится?:)

Gemorroj » 2009.12.16 19:36

нормально.

Код:

1
span style="color: #0000BB"><?php$times = '15.12.2009 16:45:23';function data($times){ $t = strtotime($times); $day = date('d.m.Y', $t); $today = date('d.m.Y'); $yesterday = date('d.m.Y', strtotime('-1 day')); if($today == $day) { return 'Сегодня в ' . date('H:i', $t); } elseif ($yesterday == $day) { return 'Вчера в ' . date('H:i', $t); } else { return $times; }}?>

ну вот так можно еще чуть-чуть причесать.

НЕЗНАЙКА » 2009.12.16 20:11

Спасибо. В следующий раз буду использовать другой тип хранения

Gemorroj » 2009.12.16 23:26

почему? datetime вполне кошерный тип. mysql умеет проворачивать с ним множество интересных спечифических операций. да и всегда можно получить из него timestamp средствами того же mysql сервера.

НЕЗНАЙКА » 2009.12.17 09:27

Я мало знаком этими операциями. К тому же на выходе дата уже готовая идет. Наверное, в моем случае таймштамп подошел

Gemorroj » 2009.12.17 12:31

UNIX_TIMESTAMP тебе возвратил бы timestamp из поля datetime

НЕЗНАЙКА » 2009.12.17 20:21

Тогда смысл хранить в дататайм, если на выходе штамп?:)

Gemorroj » 2009.12.17 20:49

я говорю о том, что можно и таймштамп получить, если надо.
http://dev.mysql.com/doc/refman/5.1/en/ … tions.html