用php设置mysql数据格式

用php设置mysql数据格式,php,mysql,sql,Php,Mysql,Sql,我有一个日期mm/dd/yyyy,我想将其转换为类似yyy-mm-dd的MySQL日期数据类型 如何使用PHP实现它?看看mysql函数str\u to\u date 范例 select str_to_date('10/30/2010','%m/%d/%Y') -- 2010-10-30 如果您的日期为$your_date,则: 请参阅。许多方法。 我喜欢把我的日期转换成时间戳,因为我觉得做我想做的事情最容易 在这种情况下: <?php echo date( "Y-m-d",strtot

我有一个日期mm/dd/yyyy,我想将其转换为类似yyy-mm-dd的MySQL日期数据类型


如何使用PHP实现它?

看看mysql函数str\u to\u date

范例

select str_to_date('10/30/2010','%m/%d/%Y') -- 2010-10-30
如果您的日期为$your_date,则:

请参阅。

许多方法。 我喜欢把我的日期转换成时间戳,因为我觉得做我想做的事情最容易

在这种情况下:

<?php
echo date( "Y-m-d",strtotime("09/02/1988"));
?>

Nick rulez的回答也适用于插入和更新:

INSERT INTO my_table (id, date) values (1, str_to_date('10/30/2010','%m/%d/%Y'))

格式见

我需要一个类似regex的东西“01/02/2011”怎么样?是2月1日还是1月2日?不是每个人的日期格式都一样……我的观点是,不管OP怎么说,这个解决方案在大多数情况下都不理想。当然不是。如果您的日期是2011年2月1日,而您不知道每个字段代表什么,那么就没有任何帮助。@天哪,它必须与使用PHP SDK 3从facebook的connect api获取的日期相同,这是用户的生日。对于MySQL,它仍然只是一个字符串,您希望它被解释为日期数据类型。@天哪,您认为MySQL是如何处理日期类型的?这实际上是一个字符串,而不是像时间戳这样的实时格式,其中的值存储在Unix历元中。2011年4月3日怎么样?那是四月三日还是三月四日?strotime很方便,但它不是一颗神奇的子弹。如果您事先知道格式是什么,那么使用date_create_from_format会更安全。
<?php
echo date( "Y-m-d",strtotime("09/02/1988"));
?>
INSERT INTO my_table (id, date) values (1, str_to_date('10/30/2010','%m/%d/%Y'))
function date2mysql($date) {

   list($month, $day, $year) = explode('/', $date);
   $timestamp = mktime(0, 0, 0, $month, $day, $year);
   return date("Y-mm-d",$timestamp);
}