我认为这是一个简单的问题。我们有一个带有DATE
字段的MySQL数据库,日期以美国格式存储(2010-06-01)。
在我将显示日期的PHP页面中,我只想将此日期转换为英国格式(01-06-2010)。
感谢任何帮助和建议!
谢谢,
荷马。
答案 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时间戳)。
然后使用此函数以您喜欢的方式格式化该数字:
答案 3 :(得分:1)
您还可以使用DateTime :: createFromFormat功能在PHP中创建Date对象。
<?php
$date = DateTime::createFromFormat('Y-m-d', $sql_date);
echo $date->format('d-m-Y');
?>