格式化日期输出 - PHP

时间:2012-12-04 14:22:09

标签: php date

我正在使用以下

<?php
function custom_echo($x)
{
  if(strlen($x)<=150)
  {
    echo $x;
  }
  else
  {
    $y=substr($x,0,150) . '...';
    echo $y;
  }
}

// Include the wp-load'er
include('../../blog/wp-load.php');

// Get the last 10 posts
// Returns posts as arrays instead of get_posts' objects
$recent_posts = wp_get_recent_posts(array(
  'numberposts' => 4
));

// Do something with them
echo '<div>';
foreach($recent_posts as $post) {
  echo '<a class="blog-title" href="', get_permalink($post['ID']), '">', $post['post_title'], '</a><br />', $post['post_date'], custom_echo($post['post_content']), '<br /><br />';
}
echo '</div>';
?>

我遇到的问题是$ post ['post_date'] - 它出现在2012-12-03 13:59:56 - 我只想在2012年12月3日阅读。我不知道怎么去吧。我知道还有其他类似的解决方案,但我是新手,并且真的不理解他们......?

帮助?

感谢。

1 个答案:

答案 0 :(得分:8)

在PHP中,date()函数带来了很多格式化的可能性。你想要做的是使用这个声明:

echo date("F j, Y", $post['post_date']);

下面

  1. 'F'对应full textual representation of a month, such as January or March
  2. 'j'对应Day of the month without leading zeros
  3. 'Y'对应A full numeric representation of a year, 4 digits
  4. 您可以在此处找到有关文档的更多信息和格式:http://php.net/manual/en/function.date.php

    编辑:如果您的变量$post['post_date']包含现有日期,则应执行此操作:

    echo date("F j, Y", strtomtime($post['post_date']));
    

    函数strtotime()将首先在date()的时间戳中转换现有日期才能正常工作。

    此处strtotime()的更多信息:http://php.net/manual/en/function.strtotime.php