入力時間 (12 時間形式) をソース タイムゾーンから UTC に変換する必要があります。
たとえば、アジア/コルカタの午前 10 時を指定した場合、UTC のオフセットに従って午後 3 時 30 分に変換する必要があります。
これを試してみてください。私にとっては完璧に機能します..
$timezone = 'Asia/Kolkata';
echo $stored_time = date('Y-m-d H:i:s');
date_default_timezone_set($timezone);
$timestamp = strtotime($stored_time);
$local_time = $timestamp + date('Z');
$local_date = date('Y-m-d H:i:s', $local_time);
echo $local_date;
この質問についてはすでに回答済みです:PHPは日付のタイムゾーンを調整します
$the_date = strtotime("2010-01-19 00:00:00");
echo date_default_timezone_get();
echo date("Y-d-mTG:i:sz",$the_date);
echo date_default_timezone_set("UTC");
echo date("Y-d-mTG:i:sz", $the_date);