PHP 5.3致命错误:类DateTimeZone未找到。

5

我尝试在 PHP v5.3.13 上运行以下代码,但仍然出现“类未找到”的错误:

$tZone = new DateTimeZone("Europe/Amsterdam");

我该如何在5.3.13上使用DateTimeZone?


仔细阅读您收到的错误消息。此外,如果您询问一个问题,请将(完整的)错误消息一并放入您的问题中。 - hakre
当我发布这个问题时,我不知道它是一个命名空间的问题。如果我知道,我会自己修复它而不打扰发布问题。我得到的错误信息是类未找到,这可能意味着任何事情。非常抱歉这对你来说是一个重复的问题,但当我搜索我的错误时,我找不到你提到的其他帖子。即使我找到了它,我也不认为它与我的错误有关。另一篇文章询问如何使命名空间工作,而我的文章是关于导致错误消息的原因。 - xam
完全没有问题。我们关闭重复问题以保持网站状态良好。关于错误信息的提示更多是一般性的:在您提出问题时,请提供尽可能多的信息,即使您认为这些信息很普遍,错误消息通常也很重要。因为除非您分享确切的错误消息,否则该错误并没有被清楚地描述。就这些。 - hakre
1个回答

24

试一下这个:

$tZone = new \DateTimeZone("Europe/Amsterdam");

添加反斜杠可以解决问题,这是一个命名空间的问题...谢谢! - xam
是的,添加反斜杠将使用全局命名空间,而不是文件中定义的命名空间。 - Dragony
1
DateTimeZone位于全局命名空间。如果您不添加“\”,则意味着DateTimeZone位于本地命名空间中。您还可以在类之前使用“use”关键字代替“\”。例如:“use \DateTimeZone”。 - Gregsparrow

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接