PHP将时间、日期、月份和年份转换为格式化字符串


PHP convert time, day,month and year to a formatted string

我目前有:

$date = $this->item->publish_up;
echo $date

返回时间:2013-07-19 09:28:05

我如何将其转换为文本,例如星期四,2012年11月8日00:00?

我试过:

$date = $this->item->publish_up;
$new_date = date('m-d-y', strtotime($date)); 
echo date("format",strtotime($new_date))

但它返回:f1970 1970年1月1日星期四02:00:00+020001am31

任何帮助都能很好地理解

$date = new DateTime($date);
echo $date->format('l, jS 'of F Y 'a''t H:i');

必须转义oat
你可以在这里阅读更多关于date函数的PHP手册

您可以阻止格式字符串中已识别的字符通过使用前面的反斜杠对其进行转义进行扩展。如果角色反斜杠已经是一个特殊的序列,您可能还需要转义反斜杠。

<?php
  echo date( "l, jS 'of F Y 'a''t H:i A", strtotime( "2013-07-19 09:28:05" ) );
?>

对于24小时格式:

<?php
$date = '2013-07-19 09:28:05';
$newdate = date('l, dS 'o'f F Y 'a't H:i', strtotime($date));
?>

如果您要回显$newdate,它将显示:

2013年7月19日星期五09:28


12小时AM或PM格式:

<?php
$date = '2013-07-19 09:28:05';
echo $newdate = date('l, dS 'o'f F Y 'a't gA', strtotime($date));
?>

如果您要回显$newdate,它将显示:

2013年7月19日星期五上午9点

您可以从这里找到您的格式字符串http://php.net/manual/en/function.date.php

echo date('m-d-y', strtotime($date));

m-第1个月至第12个月第01天至第31天y-year一年的两位数表示

如果你给回波日期('m-d-y',strtotime('now'));

o/p:07-24-13