我正面临这个问题,我的date
显示的时间少了一天我有unix timestamp
1275429600
这应该是{{1}但它显示02-06-2010
我的预期输出 01-06-2010
但获得02-06-2010
这是我的代码,我尝试过。
01-06-2010
答案 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(时区);