为什么我的日子比php中的unix时间戳少了一天

时间:2017-05-04 10:31:10

标签: php datetime timestamp

我正面临这个问题,我的date 显示的时间少了一天我有unix timestamp 1275429600这应该是{{1}但它显示02-06-2010

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

这是我的代码,我尝试过。

01-06-2010

4 个答案:

答案 0 :(得分:1)

试试这个希望这会帮助你。

希望第一行文档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

答案 1 :(得分:0)

差异是由于您的时区和时区的时区差异造成的。格林威治时区。

gmdate表现为date方法,但它返回格林威治标准时间(GMT)返回的时间。

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

答案 2 :(得分:0)

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

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

<?php
date_default_timezone_set("Asia/Kolkata");
$timestamp=1275429600;

echo gmdate("d-m-Y", $timestamp + date("Z"));
?>

答案 3 :(得分:0)

检查时区 echo date_default_timezone_get();

您可以设置时区

date_default_timezone_set(时区);