gpt4 book ai didi

php - MySQL SET 时间戳字段在 php 中显示 1 小时差异

转载 作者:行者123 更新时间:2023-11-29 02:20:38 26 4
gpt4 key购买 nike

当我在 mysql 中运行此 SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %r') 时,它显示 2015-09-08 01:47:早上 6 点。我的 MySQL 系统时区是 EDT。但是,当我在 PHP 中同时运行它时

<?php 
date_default_timezone_set('EST');
echo date('Y-m-d h:i:s A');
//also tested :output 2015-09-08 00:47:06 AM
//echo date('Y-m-d H:i:s A');
?>

它显示 2015-09-08 12:47:06 AM。所以这两个时间相差 1 小时。这里有什么问题吗?我怎样才能得到与 PHP 中的 mysql NOW() 相同的值?

最佳答案

您将时区设置为 EST - 即东部标准 时间,全年均为 UTC-5。如果您真的想要“东部时间”,请使用 America/New_York 作为您的时区标识符。这将在适当的时候在 EST 和 EDT 之间有所不同。

我强烈建议您尽可能避免使用缩写 - 它们甚至不是唯一的(BST = 英国标准时间和英国夏令时,例如)并且会造成很多混淆。基本上,它们通常代表一个特定的 UTC 偏移量。这与时区不同,时区表示 UTC 偏移量随时间的变化。

关于php - MySQL SET 时间戳字段在 php 中显示 1 小时差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32450211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com