PHP - 日期('DATE_RFC850')产生了奇怪的结果

时间:2013-07-08 14:55:40

标签: php date

我试图用这个常量来获取日期,而不是像

那样
  

星期一,5月15日 - 8月15日15:52:01 UTC

我得到了

  

MonAMPDTE_RJulyC850。

所以它不会返回一个字符串而是一个Datetime或者其他东西,但是为什么呢

$date = date('l, d-M-y H:i:s T');

准确地回复我想要的东西(f.e.:Monday,15-Aug-05 15:52:01 UTC)?

我只是想知道为什么它会在同一输入上返回不同的类型,因为
DATE_RFC850也只是一个字符串:const string RFC850 = "l, d-M-y H:i:s T"

3 个答案:

答案 0 :(得分:5)

要使用常量,请不要使用引号:

date(DATE_RFC850);

而不是

date('DATE_RFC850');

答案 1 :(得分:1)

RTM:http://php.net/date列出了日期的可接受格式字符。 DATE_RFC850不是有效的格式“字符串”,除非被视为其单独的组件:

D - Mon-Sun
A - AM/PM
T - timezone, e.g. CST
E - not a valid char, used as literal output
_ - not a valid char, used as literal output
etc...

'DATE_RFC850' STRING 。你想要常数,例如

echo date(DATE_RFC850); // note the lack of ' quotes

确实输出了您期望的格式:

Monday, 08-Jul-13 09:00:29 CST

答案 2 :(得分:0)

使用以下代码

<?php
echo date(DATE_RFC850); // you dont have to put it in quotes
?>

输出

Monday, 08-Jul-13 20:32:29 IST