php – 消息’DateTime :: __ construct()的未捕获异常’异常’:

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 消息’DateTime :: __ construct()的未捕获异常’异常’:脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
输出在我的 PHP文件中创建的日期时出现问题.

我一直在关注如何制作一个真正的基础CMS平台的教程,以帮助我理解数据库PHP的一些基础知识,在我尝试输出页面创建日期之前,一切都进展顺利.

这是我得到的错误

Fatal error: Uncaught exception 'Exception' wITh message 'DateTime::__construct(): It is not safe to rely on the system's timezone settings. 
You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of
those methods and you are still getting this warning,you most likely missPElled the timezone identifier. We selected the timezone 'UTC' for Now,but please set date.timezone to select your timezone.' in 
C:\MamP\htdocs\basic-cms\page.PHP:22 Stack trace: #0 C:\MAMP\htdocs\basic-cms\page.PHP(22): DateTime->__construct('2016-02-17 10:3...') #1 {main} thrown in C:\MAMP\htdocs\basic-cms\page.PHP on line 22

现在,当我删除page.PHP中的第22行时,它会输出数据库内的完整日期,即2016-02-17 10:38:05但我正在尝试将其格式化以显示日期,如jS M,Y( 2016年2月17日).

这是我的page.PHP文件中的代码

if ( $page ) {
    $page['created'] = new DateTime( $page['created'] );

    if ( $page['updated'] ) {
        $page['updated'] = new DateTime( $page['created'] );
    }
}

然后在我显示的show.PHP里面,我有这个代码格式化日期.

Created on <?PHP echo $page['created']->format('jS M,Y'); ?>

现在从我的show.PHP删除它并没有做任何事情,因为那不是包含错误的地方 – 但我想我会告诉你们我想要实现的目标.

就像我说这是一个非常基本的CMS网站,我正在创建跟随tutorial on YouTube,我已经完全复制了他的代码,他没有错误所以我确定它必须是一个我无法找到的拼写错误.

解决方法

这是因为在PHP配置中没有设置时区.

将以下代码添加PHP.ini文件的顶部

date.timezone = "US/Central"

并重启Web服务器

要么

你可以通过PHP脚本设置它也可以使用以下功能

date_default_timezone_set('America/Los_Angeles');

别忘了重装/重启apache服务器

脚本宝典总结

以上是脚本宝典为你收集整理的php – 消息’DateTime :: __ construct()的未捕获异常’异常’:全部内容,希望文章能够帮你解决php – 消息’DateTime :: __ construct()的未捕获异常’异常’:所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。