为什么我的一天从PHP的Unix Timestamp少一天



我正在面对这个问题,其中我的date 显示一天少我有这个unix timestamp 1275429600,它应该是02-06-2010,但它显示01-06-2010

我的预期输出: 02-06-2010,但获得01-06-2010

这是我尝试过的代码。

$timestamp=1275429600;
echo gmdate("d-m-Y", $timestamp);

尝试一下希望这对您有所帮助。

希望文档的第一行GMDATE告诉一切本身。

gmdate is Identical to the date() function except that the time returned is Greenwich Mean Time (GMT).

<?php
ini_set('display_errors', 1);
date_default_timezone_set("asia/kolkata");
echo date("d-m-Y", 1275429600);

输出: 02-06-2010

差异是由于您的时区的时区差异引起的&amp;格林威治时区。

gmdate作为date方法的行为,除了它返回格林威治平均时间(GMT(的时间。

GMT: Tue, 01 Jun 2010 22:00:00 GMT
Your time zone: 2010-6-2 03:30:00 GMT+5:30

检查时区 echo date_default_timezone_get();

您可以设置时区

date_default_timezone_set(时区(;

gmdate是GMT日期,而不是您时区中的日期。

因此,您需要使用Date('Z'),其中z是零UTC偏移的区域指定器。

<?php
date_default_timezone_set("Asia/Kolkata");
$timestamp=1275429600;
echo gmdate("d-m-Y", $timestamp + date("Z"));
?>

最新更新