2013-03-13 228 views
0

我有日期存储在mysql数据库中的格式为YYYYMMDD的varchar字段,例如20130312.我知道正确的方法应该是使用日期或时间戳数据类型,但这是我手中的东西。以适当的格式显示日期

我想用我的网页上的日期()函数在php中以适当的格式显示这些数据。我该怎么做。

使用

date("Y-m-d", strtotime('20130312')) 

不工作。任何帮助!

+1

之前什么不“工作”mea正好?你得到什么结果? – 2013-03-13 11:27:12

+0

究竟你想要哪个结果? – 2013-03-13 11:28:50

+0

尝试回声日期(“Y-m-d”,strtotime('20130312')); – clement 2013-03-13 11:29:28

回答

3

使用DATE

SELECT DATE(20130312) 

但是,如果你想在这个格式YYYY/MM/DD返回,使用DATE_FORMAT()它返回一个字符串

SELECT DATE_FORMAT(DATE(20130312), '%Y-%m-%d') 

其他来源:

1

有一个名为 “DATE_FORMAT(日期格式)” 将日期转换成不同的格式功能。 ​​

DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p') 
DATE_FORMAT(NOW(),'%m-%d-%Y') 
DATE_FORMAT(NOW(),'%d %b %y') 
DATE_FORMAT(NOW(),'%d %b %Y %T:%f') 
1

使用本

<?php 
    $dbdate = '20130312'; 
    $year = substr($dbdate,'0','4'); 
    $month = substr($dbdate,'4','2'); 
    $date = substr($dbdate,'6','2'); 
    $formatDate = "$year-$month-$date"; 
    echo $date = date('Y-m-d', strtotime($formatDate)) 
?> 
1

,如果你想转换为时间戳,使用

UNIX_TIMESTAMP(20130312) date_as_timestamp 

从MySQL和PHP处理,如

date('some format like dd/mm/YYYY', $row['date_as_timestamp'])