PHP日期函数产生不正确的结果

时间:2018-09-02 15:50:09

标签: php date

我当前在笔记本电脑上运行以下PHP版本

PHP Version 7.0.31-1+ubuntu16.04.1+deb.sury.org+1

问题是我运行下面的代码

echo date('b e, Y', strtotime('2013-02-01'));

我得到以下输出

b Africa/Nairobi, 2013

但它应该产生以下输出

Feb 1, 2013

可能是什么原因造成的?

3 个答案:

答案 0 :(得分:3)

我认为您可能想再次阅读the documentation for the date() function。我知道没有b选项,并且:

  

e -时区标识符(PHP 5.1.0中已添加)

要获得所需的结果,请执行以下操作:

echo date('M j, Y', strtotime('2013-02-01'));
  

M -一个月的简短文字表示,三个字母

     

j -每月中没有前导零的地方

答案 1 :(得分:3)

只需尝试M j, Y,请参阅官方php文档http://php.net/manual/en/function.date.php中的更多格式

 echo date('M j, Y', strtotime('2013-02-01'));

M 一个月的简短文字表示,三个字母,例如 Jan到Dec

j 每月的前一天没有前导零,例如 1到31

Y 年份的全数字表示形式,为4位数字,例如: 1999或2003

演示: https://3v4l.org/97Uvq

答案 2 :(得分:1)

PHP date B(非b)Swatch互联网时间000到999, e时区标识符(PHP 5.1.0中已添加)

您尝试输入代码:

echo date('M j, Y', strtotime('2013-02-01'));

输出:

Feb 1, 2013