我正在面对这个问题,其中我的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"));
?>