需要重新格式化日期变量以匹配mysql中的日期函数

时间:2013-06-17 16:37:48

标签: php mysql variables date

我已经搜索了如何做到这一点的高低。

我使用以下datepicker脚本。 http://jqueryui.com/datepicker/

不幸的是,它将日期格式化为xx/xx/xxxx。但是,mysql中的date函数会保存日期xxxx-xx-xx。我使用str_replace/替换为-。我的熟食店正试图弄清楚如何将我的变量$editsentdatexx-xx-xxxx转换为mysql date格式xxxx-xx-xx。当我将变量发送到我的数据库时,就像它将它存储为0000-00-00一样,我确信它是b / c,它不是由Ymd格式化的。任何帮助将不胜感激。

$editsentdate = str_replace('/','-',$_POST['edit_sent_date']); // xx-xx-xxxx

5 个答案:

答案 0 :(得分:1)

使用PHP的函数date()。示例:date("Y-m-d", strtotime($_POST['edit_sent_date']))

答案 1 :(得分:0)

$editsentdate = date("Y-m-d",strtotime($_POST['edit_sent_date']));

答案 2 :(得分:0)

在datepicker中,您可以设置日期格式

$('#datepicker').datepicker({ dateFormat: 'yy-mm-dd' });

更多信息here

答案 3 :(得分:0)

PHP中还有一个createFromFormat函数。您可以初始化日期,然后以您想要的任何方式对其进行格式化。

请参阅PHP - DateTime createFromFormat

<?php
$date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
?>

答案 4 :(得分:0)

$mysql_date = preg_replace('~^([0-9]{2})/([0-9]{2})/([0-9]{4})$~',
    '$3-$2-$1', $_POST['edit_sent_date']);

假设日期格式可靠。其他答案可能更可靠,但这是一种不同的方式......仅供参考。