PHP从MySQL查询转换日期

时间:2010-08-17 21:01:31

标签: php mysql date

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

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

感谢任何帮助和建议!

谢谢,

荷马。

4 个答案:

答案 0 :(得分:14)

您没有指定并且您的示例含糊不清,但我假设您正在谈论以日 - 月 - 年格式输出。您可以使用strtotime将字符串日期解析为unix时间戳,然后将该时间戳与date以及您要输出日期的格式一起提供:

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

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

答案 1 :(得分:3)

您可以使用DATE_FORMAT()函数从mysql直接执行此操作。 示例:“SELECT DATE_FORMAT(date_column,'%d-%m-%Y') as my_formated_date;”会做你需要的,只要确保在fetch方法中使用my_formated_date列

答案 2 :(得分:1)

您可以使用此功能解析日期:

http://php.net/manual/en/function.strtotime.php

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

然后使用此函数以您喜欢的方式格式化该数字:

http://ca3.php.net/manual/en/function.date.php

答案 3 :(得分:1)

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

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