【发布时间】:2013-09-06 12:19:53
【问题描述】:
我有一个网站,要求用户输入一个日期,然后将其存储在 MySQL 数据库中。我想让用户在 m/d/yyyy 中输入日期,并让系统将其转换为 MySQL 所需的 Y-m-d 格式。我认为这很简单,但我不能让它停止犯一个严重的错误,
我尝试了以下方法:
$date = new DateTime($this->vital_date);
$this->vital_date = $date->format('Y-m-d');
当用户输入 9/6/2013 时,2013-06-09 将存储在 MySQL 表中。 (注意月份和日期的换位。
然后,我尝试了旧的、前对象方式:
$date = strtotime($this->vital_date);
$this->vital_date = date('Y-m-d', $date);
这也做了同样的事情——换位的月份和日期。
谁能帮我解决我做错了什么或如何进行更好的转换。
【问题讨论】:
-
与其直接使用 DateTime,不如使用静态方法DateTime::createFromFormat() 指定日期字符串格式的方法
-
也许一切都很好,但你的 mysql 使用了错误的(欧洲)格式?您是否尝试保存日期并再次检索?
标签: php date format date-formatting