我已经搜索了如何做到这一点。
我正在使用以下日期选择器脚本。 http://jqueryui.com/datepicker/
不幸的是,它像这样格式化日期 xx/xx/xxxx
.但是,mysql 中的 date
函数会像这样保存日期xxxx-xx-xx
.我用str_replace
替换/
来-
.我的熟食店现在正试图弄清楚如何将我的变量$editsentdate
从xx-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']);
假设日期格式可靠。其他答案可能更可靠,但这是一种不同的方式......仅供参考。