从日期选择器到 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 的奇怪日期格式的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB 的奇怪日期行为

从奇怪的格式解析C#中的DateTime

PHPExcel 返回一个奇怪的日期格式

如何从日期选择器设置语言环境格式?

从 Kendo DatePicker Inside Kendo Grid 中选择的日期格式

角材料日期选择器日期格式