Пожалуйста, прекратите манипуляции со строками, чтобы вычислить дату и время.Вместо этого используйте встроенные DateTime :
$startInKolkata = new \DateTime(
'2018-09-19 09:00:00',
new \DateTimeZone('Asia/Kolkata')
);
$endInWarsaw = new \DateTime(
'2018-09-20 10:15:00',
new \DateTimeZone('Europe/Warsaw')
);
$dateDiff = $startInKolkata->diff($endInWarsaw);
printf(
'Till end: %d day(s), %d hour(s), %d minute(s)',
$dateDiff->d,
$dateDiff->h,
$dateDiff->i
);
Результатом метода diff()
является класс DateInterval , который содержит всю информацию, которая вам когда-либо понадобитсяо разнице.