【发布时间】:2021-05-15 07:03:16
【问题描述】:
我正在使用 PHP 中的一些可用常量以特定格式显示日期和时间:
$created_date=date(Y.'-'.m.'-'.d.'\T'.H.':'.i.':'.s.'\Z',$created_timestamp);
自从从 PHP 7.1 更新到 7.4 后,我在日志文件中收到以下消息:
PHP 警告:使用未定义的常量 Y - 假定为“Y”(这将在 PHP 的未来版本中引发错误)
PHP 警告:使用未定义的常量 m - 假定为“m”(这将 在 PHP 的未来版本中抛出错误)
PHP 警告:使用未定义的常量 d - 假定为“d”(这将 在 PHP 的未来版本中抛出错误)
PHP 警告:使用未定义的常量 H - 假定为“H”(这将 在 PHP 的未来版本中抛出错误)
PHP 警告:使用未定义的常量 i - 假定为“i”(这将 在 PHP 的未来版本中抛出错误)PHP 警告:使用 未定义的常量 s - 假定为 's'(这将在 PHP 的未来版本)
我似乎找不到任何文档(或理想情况下)示例来说明如何更新代码以解决此问题。
感谢您的帮助
【问题讨论】:
-
何不简化为
'Y-m-d\TH:i:s\Z' -
这些不是常量,而是字符串。有关示例,请参阅the docs。
-
print date('Y-m-d\TH:i:s\Z');注意“常量”实际上是字符串的一部分 -
只是展示,在关闭错误报告的情况下进行开发是个好主意,不是
-
"假设 'Y'" 是你的提示。
date(y.'-'.m.'-'.d)假定为:date('y'.'-'.'m'.'-'.'d')->date('y-m-d')。 Q 中的代码是错误的,但由于怪癖而起作用。错误是因为怪癖不再有效