$date->format('h:i A'), 'date' => $date->format('l, F j, Y'), 'zone' => $fromZone, 'abbr' => $date->format('T'), 'offset' => $date->format('P') ]; // Convert to target timezone $date->setTimezone(new DateTimeZone($toZone)); // Output info for target $targetInfo = [ 'time' => $date->format('h:i A'), 'date' => $date->format('l, F j, Y'), 'zone' => $toZone, 'abbr' => $date->format('T'), 'offset' => $date->format('P') ]; // Calculate difference in hours $sourceOffset = (new DateTimeZone($fromZone))->getOffset(new DateTime($dateTimeStr, new DateTimeZone($fromZone))); $targetOffset = (new DateTimeZone($toZone))->getOffset(new DateTime($dateTimeStr, new DateTimeZone($toZone))); $diffSeconds = $targetOffset - $sourceOffset; $diffHours = $diffSeconds / 3600; $diffStr = ($diffHours >= 0 ? '+' : '') . $diffHours . ' hours'; echo json_encode([ 'status' => 'success', 'source' => $sourceInfo, 'target' => $targetInfo, 'difference' => $diffStr ]); } catch (Exception $e) { echo json_encode(['status' => 'error', 'message' => 'Invalid Date or Timezone']); } exit; } // Get Timezone List for Dropdowns $timezone_identifiers = DateTimeZone::listIdentifiers(); ?>
Convert time between different zones instantly. Plan meetings and events accurately with automatic Daylight Saving Time handling.
Supports all standard IANA time zones.
Automatically handles daylight saving changes.
Calculate times for any date, past or future.