php - PHP 可以使用本地主机时区吗?

标签 php mysql time timezone

我最近在本地 Windows 机器(使用 IIS)上运行的一些 PHP 代码出现了故障。

我已经移动了时区,并且出现问题是因为 MySQL 使用本地机器时间执行 NOW() 等函数,但 PHP 从 php.ini 文件(或 date_default_timezone_set 等函数)确定其时区。

我正在创建带有时间戳的记录(来自 PHP),一旦超过 15 分钟就应该将其删除(在 MySQL 中使用 NOW())。由于时区的不同,它们总是超过 15 分钟。

我四处走动,我可能不总是记得将我的 php.ini 文件更新到我当前的时区。

PHP 从其 ini 文件中的 date.timezone 设置获取其当前时区。我认为也许完全删除它会起作用,但它默认为 UTC。

我意识到一个选项是在我使用 PHP 的时间还是 MySQL 的时间上保持一致,但我很想知道是否有一种方法可以告诉 PHP 使用它所在机器的任何时区继续运行。

谢谢

最佳答案

在 Windows 上,一种方法是使用 exec() 执行 shell 命令 tzutil/g 并读取输出,在我的例子中报告 Central标准时间

因为这似乎不是 date_default_timezone_set() 可接受的格式,至少根据 List of Supported Timezones , 但您可能有一小段 Windows 输出和相应的 PHP 接受的时区。

关于php - PHP 可以使用本地主机时区吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31197199/

相关文章:

php - 如何将表单数据提交到MySQL数据库

php - 在 IE 中 : my CSS has been changed while using a mysql based SESSION with php

php - Nginx 将丢失图像的请求发送到后端

php - PHP中fgets()函数的实现

mysql - jpa 查询中 join 和 count 的意外结果

MySQL Update if exists else insert - 关于重复键混淆

python - 在 Python 中访问 datetime.now() 值

php - mysql SELECT(需要连接到 2 个表并显示搜索结果)

ruby - 在 ruby 中减去日期

javascript - 如何使用 setCustomValidity() API 将错误消息添加到时间表单