我将日期存储在 mysql 数据库中的 varchar 字段中,格式为 YYYYMMDD,例如 20130312。我知道正确的方法应该是使用日期或时间戳数据类型,但这现在不在我手中。
我想在我的网页上使用 date() 函数以正确的格式显示这些数据,在 php 中。我该怎么做。
使用
date("Y-m-d", strtotime('20130312'))
不起作用。任何帮助!
采用DATE
SELECT DATE(20130312)
但是如果你想以这种格式返回YYYY/MM/DD
,使用DATE_FORMAT()
(它返回一个字符串)
SELECT DATE_FORMAT(DATE(20130312), '%Y-%m-%d')
其他来源:
有一个名为“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')
用这个
<?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))
?>
如果要转换为时间戳,请使用
UNIX_TIMESTAMP(20130312) date_as_timestamp
在使用 PHP 处理之前来自 MySQL,例如
date('some format like dd/mm/YYYY', $row['date_as_timestamp'])