以适当的格式显示日期

时间:2013-03-13 11:25:58

标签: php mysql sql

我将日期存储在一个varchar字段的mysql数据库中,格式为YYYYMMDD,例如20130312.我知道正确的方法应该是使用date或timestamp数据类型,但这不是我手中的东西。

我希望在我的网页上使用date()函数以正确的格式显示这些数据。我该怎么做。

使用

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

不起作用。任何帮助!

4 个答案:

答案 0 :(得分:3)

使用DATE

SELECT DATE(20130312)

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

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

其他来源:

答案 1 :(得分:1)

有一个名为“DATE_FORMAT(date,format)”的函数可以转换不同格式的日期。 http://www.w3schools.com/sql/func_date_format.asp

 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') 

答案 2 :(得分: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))
?>

答案 3 :(得分:1)

如果要转换为时间戳,请使用

UNIX_TIMESTAMP(20130312) date_as_timestamp
在用PHP处理之前从

获取,例如

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