从日期选择器到 mysql/php 的奇怪日期格式
Posted
技术标签:
【中文标题】从日期选择器到 mysql/php 的奇怪日期格式【英文标题】:Strange date format from date picker to mysql/php 【发布时间】:2017-06-22 04:45:45 【问题描述】:任何人都可以看到这里有什么问题吗?我不能:(
示例日期:2017 年第 2 个月第 10 天
在我的数据库中插入:2017-10-02
DB 设置为 DATE
Jquery 日期选择器:
$('.datepicker').daterangepicker(
singleDatePicker: true,
locale:
format: 'DD/MM/YYYY'
);
日期选择器输出到 html:2017 年 10 月 2 日
php:
$Newdate = date('Y-m-d', strtotime(str_replace('-', '/', $DateTaken)));
为什么要切换日期和月份?
【问题讨论】:
【参考方案1】:您必须在 date() 函数中更改日期格式:
$Newdate = date('d-m-Y', strtotime(str_replace('-', '/', $DateTaken)));
文档: http://php.net/manual/en/function.date.php
【讨论】:
已阅读文档,但您的建议将日期插入为 0000-00-00。仅显示用户的输入时日期是正确的,但是将该日期转换为mysql理解日期“Y-m-d”的日期,甚至它仍然会切换月份和日期?!?! 在此处查看:***.com/questions/8338031/… ...“MySQL 以 'YYYY-MM-DD HH:MM:SS' 格式检索并显示 DATETIME 值。”这是来自 mysql 网站。您只能存储此类型,但您可以在需要显示时使用众多时间格式函数之一来更改它。 好的,将表格从 DATE 更改为 DATETIME 并使用新的日期格式再次尝试,结果相同。但是,如果我从 date("Y-m-d") 更改为 date("Y-d-m") 它就起作用了!当用户输入时,日期已正确保存到数据库中。天 10 月 2 年 2017 结果为 db = 2017-02-10 00:00:00):D以上是关于从日期选择器到 mysql/php 的奇怪日期格式的主要内容,如果未能解决你的问题,请参考以下文章