Каков наилучший метод для перевода строк в даты MySQL? - PullRequest
1 голос
/ 04 августа 2009

Каков наилучший способ в php взять следующую строку mm [some char] dd [some char] yyyy и перевести ее в yyyymmdd? Я, вероятно, захочу в будущем, по словам местных сделать то же самое с dd [some char] mm [some char] yyyy.
Если есть способ, который уже использует Zend Framework API, лучше

Ответы [ 4 ]

2 голосов
/ 05 августа 2009
<?php
$str = '08-24-1989'; // can be in any recognizable date format.    
$new_str = date('Ymd', strtotime($str)); // produces "20090824".
?>

Вы можете заменить Ymd во втором приведенном выше утверждении на любые найденные символы формата даты здесь .

Если вы хотите использовать Zend_Date Framework, ознакомьтесь с некоторыми примерами и документацией здесь . Честно говоря, функции PHP намного проще и проще в вашем случае.

1 голос
/ 05 августа 2009

date('Ymd', strtotime($time));

Strtotime - это абсолютно лучший инструмент для перевода практически любого формата времени в стандартный формат, который можно затем использовать Дата для перевода в нужный формат.

Поскольку в вашем вопросе заголовок говорит MySQL Dates, это формат строки, который использует mysql.

date('Y-m-d h:i:s', strtotime($time));

0 голосов
/ 05 августа 2009

Я бы абсолютно использовал TIMESTAMP для хранения любых дат. Это невероятно легко обрабатывать разницу во времени (например, ВЫБРАТЬ ... ГДЕ ДАТА МЕЖДУ 2138728753 И 376251237) и может быть легко переведено в любой язык:)

0 голосов
/ 05 августа 2009

Если [некоторые символы] не изменяются, используйте функцию mysql str_to_date , например, STR_TO_DATE ('12 | 23 | 2009' , '% м |% d |% Y');

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