无法将日期转换为所需的格式,例如(Wed, Oct 21, 2015 at 13:04 PM)


Unable to convert date into the desired format like (Wed, Oct 21, 2015 at 13:04 PM)

我正在尝试将当前日期转换为以下格式:

的例子: 2015年10月21日星期三下午13:04

就像gmail。

我在网上搜索了很多,但没有帮助。我还研究了以下链接,http://php.net/manual/en/datetime.formats.date.php

但仍然无法解决我的问题。

请帮我解决这个问题。

可以使用日期和时间格式。不太为人所知的是D表示一周中的缩写日,M表示缩写月,j表示不带前导0的天数。对于时间格式,您可以使用g,它是12小时时间,不带前导零,大写的子午线前和子午线后表示A。date()函数的文档页列出了各种字母及其含义。

您需要通过为每个at添加反斜杠来转义它们。或者您可以选择分两步格式化:

 echo date( 'D, M j, Y') . ' at ' . date('g:i A');

指定时间戳:

$timestamp = time();
echo date( 'D, M j, Y', $timestamp) . ' at ' . date('g:i A', $timestamp);

使用转义并转换成函数:

function gmail_date($timestamp = null) {
  // Allow passing no time, just like date() does.
  if ($timestamp === null) $timestamp = time();
  return date( 'D, M j, Y 'a't g:i A', $timestamp);
}
echo gmail_date(time());

try this:

<?php
date_default_timezone_set('America/Los_Angeles');
$time = strtotime(Date('Y-m-d H:i:s'));
$month=date("F",$time);
$year=date("Y",$time);
$day=date("d",$time);
$hour=date("H",$time);
$minute=date("i",$time);
$x=date("A",$time);
$final=substr(date("l"),0,3).", ".substr($month,0,3)." ".$day.", ".$year." at ".$hour.":".$minute." ".$x;
echo $final;
?>

您将得到所需的输出。:)

查看PHP Date函数的格式设置技巧

echo date('D, M j, Y 'a't g:i a ', strtotime('+2 weeks 1 hour'));

return 2015年11月4日星期三下午5:14 这看起来很合法。