0

我将日期存储在 mysql 数据库中的 varchar 字段中,格式为 YYYYMMDD,例如 20130312。我知道正确的方法应该是使用日期或时间戳数据类型,但这现在不在我手中。

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

使用

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

不起作用。任何帮助!

4

4 回答 4

3

采用DATE

SELECT DATE(20130312)

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

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

其他来源:

于 2013-03-13T11:26:59.723 回答
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') 
于 2013-03-13T11:29:43.333 回答
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))
?>
于 2013-03-13T11:31:55.150 回答
1

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

UNIX_TIMESTAMP(20130312) date_as_timestamp

在使用 PHP 处理之前来自 MySQL,例如

date('some format like dd/mm/YYYY', $row['date_as_timestamp'])
于 2013-03-13T11:35:36.720 回答