我将日期存储在一个varchar字段的mysql数据库中,格式为YYYYMMDD,例如20130312.我知道正确的方法应该是使用date或timestamp数据类型,但这不是我手中的东西。
我希望在我的网页上使用date()函数以正确的格式显示这些数据。我该怎么做。
使用
date("Y-m-d", strtotime('20130312'))
不起作用。任何帮助!
答案 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'])