【问题标题】:How to convert GMT time to IST?如何将 GMT 时间转换为 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的时间

【问题讨论】:

标签: php date datetime gmt


【解决方案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

    【讨论】:

      猜你喜欢
      • 2012-12-25
      • 1970-01-01
      • 1970-01-01
      • 2012-10-24
      • 1970-01-01
      • 2020-05-02
      • 1970-01-01
      • 2015-03-10
      • 1970-01-01
      相关资源
      最近更新 更多