将字符串转换为mysql日期的最佳方法是什么?

时间:2009-08-04 19:56:01

标签: php mysql zend-framework date

php中最好的方法是采取以下字符串mm [some char] dd [some char] yyyy并将其翻译为yyyymmdd? 我可能希望在将来,根据当地做同样的dd [some char] mm [some char] yyyy。 如果有一种方法已经使用Zend Framework API,那就更好了

4 个答案:

答案 0 :(得分:2)

<?php
$str = '08-24-1989'; // can be in any recognizable date format.    
$new_str = date('Ymd', strtotime($str)); // produces "20090824".
?>

您可以使用here找到的任何日期格式字符替换上面第二条语句中的Ymd

如果您希望使用Zend的Zend_Date框架,请查看一些示例和文档here。坦率地说,PHP函数在您的情况下更简单易用。

答案 1 :(得分:1)

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

Strtotime绝对是将几乎任何时间格式转换为标准格式的最佳工具,然后您可以使用Date将其格式化为所需格式。

因为你问题标题是MySQL Dates,这是mysql使用的字符串格式。

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

答案 2 :(得分:0)

除非[某些字符]不同,否则请使用mysql str_to_date功能,例如STR_TO_DATE('12 | 23 | 2009' 年, '%M |%d |%Y');

答案 3 :(得分:0)

我绝对会将TIMESTAMP用于任何日期存储。处理时间差异非常容易(例如SELECT ... WHERE date BETWEEN 2138728753 AND 376251237)并且可以很容易地翻译成任何语言环境:)