Standardisons la date et l'heure de Swift en utilisant ISO8601.

ISO8601 est défini par la normalisation internationale pour représenter la date et l'heure

Utilisons-le immédiatement! ISO8601DateFormatter

extension Date {
    // Date -> 2018-09-18T11:00:00+Passer au format 0900
    func convertToISO8601DateTime(timeZone: TimeZone = .current) -> String {
        let formatter = ISO8601DateFormatter()
        var option: ISO8601DateFormatter.Options = [.withFullDate, .withFullTime]
        option.remove([.withColonSeparatorInTimeZone])
        formatter.formatOptions = option
        formatter.timeZone = TimeZone(abbreviation: "JST")

        return formatter.string(from: self)
    }
}

En savoir plus sur les options du formateur de date ISO8601

Les quatre options suivantes sont spécifiées dans ISO8601DateFormatter.

Dans ce code, nous le définirons sans utiliser la valeur par défaut. Il existe trois options à utiliser.

Utiliser ou supprimer Option sens
Utilisation .withFullDate Précisez la date
Utilisation .withFullTime Précisez l'heure
Supprimer .withColonSeparatorInTimeZone Fuseau horaire(+0900)de:

Éliminer les options qui n'utilisent pas .remove ()

Si vous n'avez pas besoin d'une option par défaut, utilisez remove pour la supprimer! !! Cette fois, en utilisant ce qui précède, le format est changé en Date-> 2018-09-18T11: 00: 00 + 0900.

Si vous souhaitez n'utiliser que l'année ou spécifier uniquement le mois, veuillez vous référer au site suivant. ISO8601DateFormatter: gère la date et l'heure au format ISO 8601 sur iOS (Swift) Site des développeurs Apple

Fuseau horaire (adaptez l'heure à votre pays)

Pour les services japonais, nous utilisons "JST" car il est nécessaire de faire correspondre l'heure au Japon. Si vous souhaitez utiliser l'heure mondiale de l'accord, utilisez "UTC". formatter.timeZone = TimeZone(abbreviation: "JST") Lorsque vous développez une application pour l'étranger, recherchez l'abréviation du fuseau horaire à partir de l'URL suivante. Liste des abréviations pour les fuseaux horaires

Recommended Posts

Standardisons la date et l'heure de Swift en utilisant ISO8601.