如何将 GMT 时间转换为 IST?
Posted
技术标签:
【中文标题】如何将 GMT 时间转换为 IST?【英文标题】:How to convert GMT time to IST? 【发布时间】:2018-08-16 10:19:32 【问题描述】:这里我得到的格林威治标准时间如下。
1520489880
现在我得到了这个
$myfinaldate = gmdate("d M H:i", $strtoDate);
所以它会返回给我GMT time
。现在我想将其转换为 IST(印度标准时间)。
我尝试时卡在哪里
//Set timezone to india
date_default_timezone_set('Asia/Kolkata');
echo date('Y-m-d H:i:s');
但这会返回我当前时间而不是我进入strtotime
的时间
【问题讨论】:
你看到这个答案了吗? ***.com/questions/13216185/php-converting-gmt-to-ist 是的,显然.. 见我更新的问题。 @Sorak 的回答现在应该可以解决您的问题 【参考方案1】:你需要传递时间戳:
date_default_timezone_set('Asia/Kolkata');
echo date('d M H:i', $strToDate); // where $strToDate is 1520489880
将产生以下值:
08 Mar 11:48
【讨论】:
所以不用gmdate("d M H:i", $strtoDate)
??
当然,它们是一样的
也许它不一样@sorak。 date 是返回的时间是您的时区。 gmdate 是返回的时间是格林威治标准时间 (GMT)。
哦,我指的是变量的使用。是的,您需要将时区设置为加尔各答,而 gmdate 隐式设置不正确。【参考方案2】:
您可以使用以下方式将 GMT 时间转换为 IST 时间:
1.
echo date('Y-m-d H:i:s',strtotime('+330 minutes', 0));
2.
date_default_timezone_set('Asia/Kolkata');
echo date('Y-m-d H:i:s');
【讨论】:
【参考方案3】:更改默认时区并不是一个好主意。使用DateTime
类,你再也不用担心默认时区了...
$dt = new DateTime("@$strToDate");
$dt->setTimezone(new DateTimezone('Asia/Kolkata'));
echo $dt->format('Y-m-d H:i:s');
demo
【讨论】:
以上是关于如何将 GMT 时间转换为 IST?的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 Java 8 将给定的本地日期转换为 GMT 日期 [重复]