Функция для анализа метки времени psql - PullRequest
3 голосов
/ 09 апреля 2011

Я часто отображаю дату или время на своем веб-сайте, и я думаю о написании функции для анализа метки времени PostgreSQL.

Метка времени имеет формат: Y-m-d H:i:s.u.Например, 2011-04-08 23:00:56.544.

Я думаю о чем-то вроде этого:

function parse_timestamp($timestamp, $format = 'd-m-Y')
{
    // parse the timestamp

    return $formatted_timestamp;
}

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

Ответы [ 5 ]

5 голосов
/ 09 апреля 2011
function parse_timestamp($timestamp, $format = 'd-m-Y')
{
    return date($format, strtotime($timestamp));
}

Не забудьте предварительно установить часовой пояс, например,

date_default_timezone_set('UTC');

Или, в вашем случае, я думаю, 'Europe/Amsterdam'.

Вы всегда можете получить временную метку PHP этогоформат Y-m-d H:i:s.u с использованием strtotime().Затем, используя date(), вы можете экспортировать время в своем собственном формате.Обе функции зависят от установленного часового пояса.

4 голосов
/ 09 апреля 2011

strtotime вполне может проанализировать эту временную строку, а затем просто переформатировать ее с date :

echo date('d-m-Y', strtotime('2011-04-08 23:00:56.544')); // 08-04-2011
2 голосов
/ 10 апреля 2011

Если база данных не дает вам то, что вы хотите, измените это.PostgreSQL также может форматировать даты и время .

select to_char(timestamp '2011-03-04 07:04:00', 'DD-MM-YYYY');
04-03-2011

Но это рискованно в международном контексте, например в Интернете.В разных локалях ожидается разное упорядочение элементов.(Означает ли «04-03» 03-апрель или 04-март?) Это выражение легче понять, и оно использует сокращения для конкретных локалей для месяцев.

select to_char(timestamp '2011-03-04 07:04:00', 'DD-Mon-YYYY');
04-Mar-2011
1 голос
/ 22 мая 2015

Для тех, кто использует класс DateTime:

DateTime::createFromFormat('Y-m-d H:i:s.u', $yourTime);
0 голосов
/ 09 апреля 2011

Посмотрите на функцию strptime - она ​​может анализировать много форматов времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...