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


Need to reformat date variable to match date function in mysql

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

我正在使用以下日期选择器脚本。 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

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

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

在日期选择器中,您可以设置日期格式

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

更多信息在这里

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

请参阅 PHP - 日期时间创建从格式

<?php
$date = DateTime::createFromFormat('j-M-Y', '15-Feb-2009');
echo $date->format('Y-m-d');
?>
$mysql_date = preg_replace('~^([0-9]{2})/([0-9]{2})/([0-9]{4})$~',
    '$3-$2-$1', $_POST['edit_sent_date']);

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