Здесь я получаю время по Гринвичу следующим образом.
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
Вам необходимо передать отметку времени:
date_default_timezone_set('Asia/Kolkata');
echo date('d M H:i', $strToDate); // where $strToDate is 1520489880
Будет производить следующее значение:
08 Mar 11:48
Вы можете конвертировать время по Гринвичу в время 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');
Изменение часового пояса по умолчанию не очень хорошая идея. использование DateTime
класс, любой вам больше не нужно беспокоиться о часовом поясе по умолчанию …
$dt = new DateTime("@$strToDate");
$dt->setTimezone(new DateTimezone('Asia/Kolkata'));
echo $dt->format('Y-m-d H:i:s');