gpt4 book ai didi

php - 我如何在 PHP 中获得格林威治标准时间?

转载 作者:IT王子 更新时间:2023-10-29 00:51:47 25 4
gpt4 key购买 nike

我有一台设置为 EST 的服务器,数据库中的所有记录都设置为 EST。我想知道如何将其设置为 GMT。我想为我的用户提供时区选项。

最佳答案

强烈建议避免混淆 UNIX 时间戳,使其看起来像是不同的时区。这是我以惨痛的方式学到的教训,太多次了。

时间戳是自格林威治标准时间 1970 年 1 月 1 日午夜以来的秒数。无论您身处世界何处,给定的时间戳都代表完全相同的时间时刻,而与时区无关。是的,时间戳“0”在澳大利亚表示上午 10/1/70,在伦敦表示午夜 1/1/70,在洛杉矶表示下午 5 点 31/12/69,但这并不意味着您可以简单地添加或减去值并保证准确性。

让我每年都困扰太久的黄金示例是夏令时突然出现的时候。夏令时意味着存在世界某些地区不存在的“时钟时间”。例如,在美国大部分地区,没有 2006 年 4 月 2 日凌晨 2:01 这样的时间。

虽然有足够的准可理解的咆哮。我的建议是将您的日期作为时间戳存储在数据库中,然后...

例如,

$timestamp = time();

echo "BRISBANE: " . date('r', $timestamp) . "\n";
echo " UTC: " . gmdate('r', $timestamp) . "\n";
date_default_timezone_set('Africa/Johannesburg');
echo " JOBURG: " . date('r', $timestamp) . "\n";

// BRISBANE: Tue, 12 May 2009 18:28:20 +1000
// UTC: Tue, 12 May 2009 08:28:20 +0000
// JOBURG: Tue, 12 May 2009 10:28:20 +0200

这将使您的值保持干净(您不必担心添加偏移量,然后在保存前减去),它将遵守所有夏令时规则,而且您甚至不必查找时区你想要的地方。

关于php - 我如何在 PHP 中获得格林威治标准时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/851574/

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