PHP для изменения формата искаженной временной метки на количество секунд - PullRequest
0 голосов
/ 24 апреля 2011

У меня есть таблица mysql, содержащая метки времени в следующем формате.

23 апреля 2011 года в 22:00

Как мне использовать php для измененияформат этой странно отформатированной метки времени в формат, который вы получаете, когда это объявляется: echo date('U'); приблизительно секунд с начала эпохи Unix.Затем я хотел бы обновить свою таблицу новым форматом.

Ответы [ 3 ]

2 голосов
/ 24 апреля 2011

Можно strtotime() сохранить?
http://php.net/manual/en/function.strtotime.php

Если нет, то вам нужно взорвать на '' и ',', а затем сделать некоторую математику, чтобы попасть в секунды

1 голос
/ 24 апреля 2011

Вы можете сделать это даже без php. Добавьте столбец int_timestamp в таблицу, обновите его с помощью запроса sql:

update table set int_timestamp=unix_timestamp(str_to_date( odd_timestamp, '%M %d,%Y at %h:%i %p' ))

Убедитесь, что вновь созданные временные метки верны (возможны некоторые проблемы с часовым поясом), удалите старую временную метку и переименуйте новую в старую.

1 голос
/ 24 апреля 2011

Как насчет:

echo date('U', strtotime(str_replace('at', '', 'April 23, 2011 at 10:00 PM')));
...