Lors de l'obtention de valeurs horaires à partir de sources externes, telles que des serveurs de bases de données, il est crucial de prendre en compte les différents fuseaux horaires impliqués. Dans ce cas, l'heure stockée sur le serveur est en EST, mais elle doit être affichée dans le bon fuseau horaire de l'utilisateur de l'iPhone.
Les iPhones gèrent automatiquement fuseaux horaires en fonction de l'emplacement de l'utilisateur et des paramètres de l'appareil. Pour convertir une heure provenant d'une source externe vers le fuseau horaire de l'utilisateur, utilisez la classe NSTimeZone. Cette classe fournit des méthodes de conversion entre différents fuseaux horaires.
Voici un exemple de conversion d'une valeur horaire de EST vers le fuseau horaire de l'utilisateur dans Swift :
let estTime = "2023-06-15 08:00:00" // Time in EST let dateFormatter = DateFormatter() dateFormatter.timeZone = TimeZone(identifier: "EST") // Set EST time zone dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss" // Set date format let estDate = dateFormatter.date(from: estTime) // Convert EST time to date object if let estDate = estDate { let localTimeZone = TimeZone.autoupdatingCurrent // Get user's local time zone let localDate = estDate.addingTimeInterval(localTimeZone.secondsFromGMT()) // Convert EST date to local date dateFormatter.timeZone = localTimeZone // Set local time zone for display dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss z" // Set date format with time zone let localTime = dateFormatter.string(from: localDate) // Convert local date to string in local time zone print("Original EST Time:", estTime) print("Converted Local Time:", localTime) }
En suivant cette approche, vous pouvez convertir les valeurs temporelles dans le fuseau horaire correct de l'utilisateur de l'iPhone, garantissant ainsi que les horodatages sont affichés avec précision dans le application.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!