Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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_Date - Fatal编程技术网

PHP从MySQL查询转换日期

PHP从MySQL查询转换日期,php,mysql,date,Php,Mysql,Date,我认为这是一个简单的问题。我们有一个MySQL数据库,带有日期字段,日期以美国格式存储(2010-06-01) 在显示日期的PHP页面中,我只想将该日期转换为英国格式(01-06-2010) 感谢您的帮助和建议 谢谢 荷马。您没有指定,您的示例也不明确,但我假设您所说的是以日-月-年格式输出。您可以使用将字符串日期解析为unix时间戳,然后将该时间戳与要输出日期的格式一起提供给: date("d-m-Y", strtotime($date_from_mysql)); date的手册页面列出了您

我认为这是一个简单的问题。我们有一个MySQL数据库,带有
日期
字段,日期以美国格式存储(2010-06-01)

在显示日期的PHP页面中,我只想将该日期转换为英国格式(01-06-2010)

感谢您的帮助和建议

谢谢


荷马。

您没有指定,您的示例也不明确,但我假设您所说的是以日-月-年格式输出。您可以使用将字符串日期解析为unix时间戳,然后将该时间戳与要输出日期的格式一起提供给:

date("d-m-Y", strtotime($date_from_mysql));

date
的手册页面列出了您可以提供的所有格式选项。在这种情况下,
d
以零位数字表示日期,
m
以零位数字表示月份,
Y
以四位数字表示年份。任何对日期没有特定含义的字符都会按原样出现。

您可以使用此函数解析日期:

它将返回一个整数,即自1970年以来的秒数(称为Unix时间戳)

然后使用此函数以任意方式格式化该数字:


您可以使用函数从mysql直接执行此操作。
示例:“
SELECT DATE\u FORMAT(DATE\u column,%d-%m-%Y”)
as my\u formatted\u DATE;”将执行您需要的操作,只需确保在fetch方法中使用my\u formatted\u DATE column

您还可以使用DateTime::createFromFormat功能在PHP中创建日期对象

<?php
    $date = DateTime::createFromFormat('Y-m-d', $sql_date);
    echo $date->format('d-m-Y');
?>


+1。不过,从OP的示例MySQL日期来看,它可能是m-d-Y。@gclaghorn MySQL
date
格式为'YYYY-MM-DD'()。因此,如果2010-06-01是一个MySQL
日期,它意味着2010年6月1日(因此2010年6月1日是DD-MM-YYYY)。完美-谢谢丹尼尔-如果问题有点含糊不清,请道歉。最简单、最好的答案。我讨厌两行代码这样简单的任务。谢谢你的快速编辑。我以为我有一个撇号,结果我错过了另一个。