gpt4 book ai didi

php - timezone getOffset 方法如何在 PHP 上使用日期?

转载 作者:可可西里 更新时间:2023-11-01 01:12:56 30 4
gpt4 key购买 nike

我试图了解 PHP 如何使用给定的日期时间在 DateTimeZone 对象上返回 getOffset 结果。据我所知,无论我传递什么日期时间,结果总是相同的。

public function testGetOffset()
{
// UTC offset is 00:00 (0 seconds)
$timeZoneUtc = new \DateTimeZone('UTC');
$dateUTC = new \DateTime('now', $timeZoneUtc);

// America/Sao_Paulo offset is -02:00 (-7200 seconds)
$timeZoneSP = new \DateTimeZone('America/Sao_Paulo');
$dateSP = new \DateTime('now', $timeZoneSP);

// America/New_York offset is -05:00 (-18000 seconds)
$timeZoneNY = new \DateTimeZone('America/New_York');
$dateNY = new \DateTime('now', $timeZoneNY);


$this->assertEquals(0, $timeZoneUtc->getOffset($dateUTC)); // true
$this->assertEquals(0, $timeZoneUtc->getOffset($dateNY)); // true
$this->assertEquals(0, $timeZoneUtc->getOffset($dateSP)); // true


$this->assertEquals(-7200, $timeZoneSP->getOffset($dateUTC)); // true
$this->assertEquals(-7200, $timeZoneSP->getOffset($dateNY)); // true
$this->assertEquals(-7200, $timeZoneSP->getOffset($dateSP)); // true


$this->assertEquals(-18000, $timeZoneNY->getOffset($dateUTC)); // true
$this->assertEquals(-18000, $timeZoneNY->getOffset($dateNY)); // true
$this->assertEquals(-18000, $timeZoneNY->getOffset($dateSP)); // true
}

谁能帮我弄一下?

最佳答案

偏移量仅在 DST 期间发生变化过渡。纽约将于 3 月 11 日从冬令时过渡到夏令时。getOffset 告诉您该时区在特定时间的偏移量。您提供的所有时间都是今天,远在 DST 转换日期之前,因此它们都会产生相同的偏移量。尝试获取 3 月 11 日之前和之后的日期的偏移量以查看差异。

关于php - timezone getOffset 方法如何在 PHP 上使用日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48301354/

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