首页 文章

PHP时区不正确使用时间()

提问于
浏览
2

我正在使用 time() 来记录我的PHP应用程序中的当前时间 .

我在英国,所以我们使用UTC时区 . 这意味着在夏季/冬季,我们从GMT时区切换到BST(GMT 1) . 问题是, time() 仍然使用GMT时区,这意味着落后1小时 . 我该如何制作它以显示比格林威治标准时间提前1小时的BST时间?

当我回想起时间时,它落后了1个小时 .

What I have Tried:

  • 添加以下代码:

date_default_timezone_set( “欧洲/伦敦”);

ini_set(“date.timezone”,“Europe / London”);

  • 重新安装PHP 5.5,以便更新存储时区的扩展 .

谢谢

2 回答

  • 0

    找到了解决方案 .

    问题不在于time(),因为那只是日期的几秒钟 .

    当显示日期时,而不是使用 gmdate() 而不是使用 date() .

    这将考虑您在document / ini文件中设置的任何默认时区 .

  • 1

    使用 gmdate ()

    string gmdate ( string $format [, int $timestamp = time() ] )

    php.netDifferent results for date() and gmdate()

相关问题