Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何让mysql从迁移页面接受特定格式的日期?_Php_Mysql - Fatal编程技术网

Php 如何让mysql从迁移页面接受特定格式的日期?

Php 如何让mysql从迁移页面接受特定格式的日期?,php,mysql,Php,Mysql,我有一堆excel表格,我将上传到数据库;日期格式为2019年9月5日。有没有办法让mysql将其识别为日期而不是字符串?如果“-”不起作用,我可以在excel中使用replace将“-”替换为“/” 谢谢。您可以使用php的strotime函数并根据需要设置格式 $date = '05-Sep-2019'; $newdate = date('Y-m-d',strtotime($date)); //2019-09-05 $newdate = date('Y/m/d',strtotime($dat

我有一堆excel表格,我将上传到数据库;日期格式为2019年9月5日。有没有办法让mysql将其识别为日期而不是字符串?如果“-”不起作用,我可以在excel中使用replace将“-”替换为“/”

谢谢。

您可以使用php的strotime函数并根据需要设置格式

$date = '05-Sep-2019';
$newdate = date('Y-m-d',strtotime($date)); //2019-09-05
$newdate = date('Y/m/d',strtotime($date)); //2019/09/05
$newdate = date('d/m/Y',strtotime($date)); //05/09/2019
或者在Mysql中

请注意,MySQL默认以YYYY-MM-DD格式存储日期

一种方法是将所有日期转换为YYYY-MM-DD格式,以便与MYSQL兼容

在导出到MYSQL之前,我们可以通过以下步骤在excel中格式化日期列:

选择包含日期的列 单击鼠标右键,然后选择“设置单元格格式” 在左侧的类别下选择日期 然后在“类别”下选择“自定义” 在类型下插入格式->YYYY-MM-DD 您将看到列中的所有日期都转换为->YYYY-MM-DD格式 然后可以安全地将日期导入MYSQL


另一种方法是将列数据类型保持为VARCHAR,并使用to_DATE函数将字符串数据解析为日期格式。

您可以将其转换为Y-m-d格式

$date = date('Y-m-d',strtotime($your_excel_date)) // 2019-08-29
$date = date('Y/m/d',strtotime($your_excel_date)) // 2019/08/29

我有excel表格中的日期。有成千上万的。我将通过mysql中的导入上传它们。我不能单独这样做。你试过这个吗?你把它标记为一个PHP问题,所以你得到了一个PHP答案。您可以使用PHP读取文件并更改日期。在此之后,您可以将其插入到tableAgreed@MThiele中,这就是为什么我用php给出了一个解决方案。对此表示抱歉。我的错误。