1656648480
Les dates et les heures sont une partie essentielle de la programmation. Ils nous aident à suivre les instances de données et nous permettent d'organiser les ensembles de données par ordre chronologique.
Malgré leur importance, le formatage et l'interprétation de la date et de l'heure ne sont pas toujours aussi simples qu'on pourrait l'espérer.
Par exemple, si la date à New York est le 03/05/2022 et qu'il est 15h20, le New-Yorkais moyen dirait que nous sommes le 3 mai 2022 à 15h20 de l'après-midi. Cependant, cette même date et heure se lirait très différemment à quelqu'un à Londres, où il interpréterait cette date comme le 5 mars 2022 et dirait qu'il est 18h20.
Ces différences sont dues à trois facteurs majeurs : le fuseau horaire (heure normale de l'Est par rapport à l'heure d'été britannique) ; format de date (mois/jour/année vs jour/mois/année) ; et différence de type d'horloge (les États-Unis utilisent l'horloge de 12 heures et, bien que Londres puisse utiliser les deux, leurs documents gouvernementaux utilisent généralement l'horloge de 24 heures).
Ce ne sont là que quelques différences de date et d'heure entre deux villes, mais imaginez les différences entre tous les pays du monde (et même les différences au sein des pays).
C'est pourquoi, si vous souhaitez que votre application soit aussi accessible que possible, vous devez disposer d'une logique pour représenter avec précision les dates et les heures dans des formats compris par différents environnements.
Dans cet article, je vais vous montrer comment formater vos dates avec Swift DateFormatter
, ainsi qu'avec d'autres bibliothèques existantes. Tout d'abord, commençons par DateFormatter
.
Avant de commencer, préparons-nous. Créez une nouvelle application Swift et ouvrez-la dans Xcode.
Ensuite, allez dans votre ContentView.swift
fichier et, en dehors du corps, instanciez de nouveaux objets Date
et .DateFormatter
let date = Date();
let dateFormatter = DateFormatter();
Date
nous donnera la date et l'heure actuelles par rapport à notre fuseau horaire actuel. Pour moi, c'est le mercredi 1er juin 2022.
dateFormatter
est une instance de la DateFormatter
classe qui nous permet d'utiliser diverses fonctions de formatage sur notre date
. Ceci est important car nous ne pourrons pas afficher date
une Text
vue sans la formater correctement au préalable. Voyons comment nous pouvons le formater dans le body
de notre fichier ContentView
.
var body: some View {
dateFormatter.dateStyle = .short
return Text(dateFormatter.string(from: date))
.padding()
}
Le code ci-dessus abrégera la date et la mettra sous forme numérique. Par exemple, la date d'aujourd'hui pour moi (1er juin 2022) deviendra le 01/06/22.
DateFormatter
Pour commencer à utiliser DateFormatter
, nous devons attribuer le style que nous voulons. La . short
style que nous attribuons rend date
dans un format numérique ou raccourci. Cela signifie que le mois, le jour et l'année sont représentés par des nombres. Notez également que l'année n'est composée que de deux chiffres au lieu de quatre.
Ensuite, .string
nous permet de convertir date
en un type de chaîne (ce que notre Text
vue exige). Il est stylisé selon dateFormatter
, qui est . short
dans notre cas.
Et si nous voulions afficher la date avec le mois sous forme de chaîne abrégée, le jour sous forme de nombre et l'année sous forme de quatre chiffres complets ? C'est facile! Nous utiliserions. medium
à la place de . short
.
Et si nous voulions afficher la date avec le nom complet du mois, un jour numérique et l'année complète ?
Vous l'avez deviné, nous utiliserions . long
.
Nous pouvons aller encore plus loin en utilisant . full
, qui nous donne le jour de la semaine, le nom complet du mois, un numéro pour le jour et l'année complète. Vous pouvez tous les voir ci-dessous.
timeStyle
Si vous souhaitez également afficher l'heure, vous pouvez vous adresser timeStyle
à dateFormatter
. Cette option s'applique de la même manière que dateStyle
dans le sens où vous pouvez toujours utiliser les formats intégrés .short
, .medium
, .long
et ..full
Vous attribuez timeStyle
ainsi :
dateFormatter.timeStyle = .short
Si vous ajoutez la ligne ci-dessus après dateFormatter.dateStyle
, elle ajoute l'heure raccourcie à votre date. Vous pouvez voir le résultat ci-dessous:
Cet exemple illustre le dateStyle
as .full
et le timeStyle
as .short
.
Voici les autres styles de temps :
NB , Les temps indiqués ci-dessus sont un peu différents des exemples précédents, car il m'a fallu un certain temps pour changer le timeStyle
.
dateFormat
En plus de définir le dateStyle
et timeStyle
, nous pouvons également utiliser dateFormat
. Nous allons fournir une chaîne qui représente le format de date et d'heure que nous voulons.
Instancions une autre DateFormatter
instance appelée dateFormatter2
. Cette fois, utilisons à la dateFormat
place de dateStyle
et timeStyle.
Voir ci-dessous :
dateFormatter2.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
…
Text(dateFormatter2.string(from: date))
.padding(.bottom)
Voyons maintenant à quoi cela ressemble dans l'interface utilisateur :
Parfait!
Décomposons dateFormat
pour plus de clarté, en commençant par la date.
L'année ( yyyy
) est 2022. Nous avons utilisé l'année complète, mais si vous voulez simplement afficher « 22 », vous pouvez utiliser yy
.
Le mois ( MM
) est 06, correspondant à juin. Si vous souhaitez afficher le mois sans le 0, laissez-le simplement M
. Si vous voulez que le mois soit une chaîne, mettez MMMM
.
Enfin, le jour ( dd
) est 01. Si vous souhaitez afficher le jour sans le 0 devant, laissez-le simplement comme D
.
Pour formater les heures, ou HH
, vous avez deux options. La première consiste à laisser l'heure au format HH
, qui s'aligne sur l'échelle de temps de 24 heures. La deuxième option consiste à utiliser l'échelle de 12 heures, et pour ce faire, il vous suffit de la remplacer par H
.
mm
représente les minutes et ss
représente les secondes. Ceux-ci sont assez explicites.
Pour changer l'ordre de ces nombres, placez-les simplement dans différentes parties de la chaîne. Par exemple, "MM-dd-yyyy'T'h:mm:ss"
ressemblera à 06-01-2022T5:48:55
.
Jusqu'ici tout va bien! Nous pouvons maintenant utiliser DateFormatter
pour formater nos dates et heures en utilisant les formats fournis ou notre propre chaîne.
Il n'y a qu'une seule mise en garde. Vous souvenez-vous de ce que j'ai mentionné à propos de différents pays, villes, continents, etc., ayant des fuseaux horaires et des styles de date différents ? Si seulement il y avait un moyen de formater nos dates en fonction de l'endroit où nous nous trouvons dans le monde…
… et la bonne nouvelle, c'est que nous le pouvons ! Ceci est possible grâce à la localisation .
La localisation utilise des paramètres régionaux , des ensembles de paramètres utilisés pour définir l'emplacement, la langue et la syntaxe d'un utilisateur. Ceci est important si vous souhaitez rendre une application utilisable dans plusieurs endroits à travers le monde.
La localisation va au-delà de la traduction. Bien que vous puissiez utiliser une API de langue pour traduire "June 1" en anglais en "juni 15" en néerlandais pour une utilisation aux Pays-Bas, cela reste techniquement incorrect en termes de paramètres régionaux.
Aux Pays-Bas, les gens lisent les dates avec le jour précédant le mois. Techniquement, "June 1" devrait être localisé en "1 juin".
La bonne nouvelle est que cela DateFormatter
gère déjà beaucoup de cela pour nous. Cependant, nous pouvons mettre à jour manuellement DateFormatter
les paramètres régionaux de notre en manipulant sa locale
propriété.
Cette propriété détermine les paramètres régionaux de notre formateur. Si nous ne modifions pas cette propriété, les paramètres régionaux utilisés seront l'anglais américain (représenté par « en_us
» en Swift).
Si nous voulions utiliser les Pays-Bas comme paramètres régionaux, nous pouvons définir la valeur comme suit :
dateFormatter2.locale = Locale(identifier: "nl")
Voyons à quoi ressemble notre rendez-vous avec nos nouveaux paramètres régionaux.
Parfait! De cette façon, nous effectuons non seulement le changement de langue, mais également le formatage des paramètres régionaux. Cela crée une date plus précise dans l'ensemble.
Le formatage de la date dans Swift peut être simple dès la sortie de la boîte, mais nous avons diverses options de flexibilité et de personnalisation. Certains cas peuvent nécessiter une date plus courte, et d'autres peuvent nécessiter une date plus longue.
Vous pouvez également constater que l'affichage du mois sous forme de chaîne est plus acceptable ou cohérent pour votre application que le nombre. Vous pouvez également mieux répondre aux besoins des utilisateurs du monde entier en mettant en œuvre la localisation, ce qui rend votre application plus familière pour eux.
Le temps est notre atout le plus précieux. Le moins que l'on puisse faire est de le formater efficacement.
Tout le code d'accompagnement de cet article est disponible sur GitHub .
Source : https://blog.logrocket.com/how-to-use-dateformatter-swift/
1656648480
Les dates et les heures sont une partie essentielle de la programmation. Ils nous aident à suivre les instances de données et nous permettent d'organiser les ensembles de données par ordre chronologique.
Malgré leur importance, le formatage et l'interprétation de la date et de l'heure ne sont pas toujours aussi simples qu'on pourrait l'espérer.
Par exemple, si la date à New York est le 03/05/2022 et qu'il est 15h20, le New-Yorkais moyen dirait que nous sommes le 3 mai 2022 à 15h20 de l'après-midi. Cependant, cette même date et heure se lirait très différemment à quelqu'un à Londres, où il interpréterait cette date comme le 5 mars 2022 et dirait qu'il est 18h20.
Ces différences sont dues à trois facteurs majeurs : le fuseau horaire (heure normale de l'Est par rapport à l'heure d'été britannique) ; format de date (mois/jour/année vs jour/mois/année) ; et différence de type d'horloge (les États-Unis utilisent l'horloge de 12 heures et, bien que Londres puisse utiliser les deux, leurs documents gouvernementaux utilisent généralement l'horloge de 24 heures).
Ce ne sont là que quelques différences de date et d'heure entre deux villes, mais imaginez les différences entre tous les pays du monde (et même les différences au sein des pays).
C'est pourquoi, si vous souhaitez que votre application soit aussi accessible que possible, vous devez disposer d'une logique pour représenter avec précision les dates et les heures dans des formats compris par différents environnements.
Dans cet article, je vais vous montrer comment formater vos dates avec Swift DateFormatter
, ainsi qu'avec d'autres bibliothèques existantes. Tout d'abord, commençons par DateFormatter
.
Avant de commencer, préparons-nous. Créez une nouvelle application Swift et ouvrez-la dans Xcode.
Ensuite, allez dans votre ContentView.swift
fichier et, en dehors du corps, instanciez de nouveaux objets Date
et .DateFormatter
let date = Date();
let dateFormatter = DateFormatter();
Date
nous donnera la date et l'heure actuelles par rapport à notre fuseau horaire actuel. Pour moi, c'est le mercredi 1er juin 2022.
dateFormatter
est une instance de la DateFormatter
classe qui nous permet d'utiliser diverses fonctions de formatage sur notre date
. Ceci est important car nous ne pourrons pas afficher date
une Text
vue sans la formater correctement au préalable. Voyons comment nous pouvons le formater dans le body
de notre fichier ContentView
.
var body: some View {
dateFormatter.dateStyle = .short
return Text(dateFormatter.string(from: date))
.padding()
}
Le code ci-dessus abrégera la date et la mettra sous forme numérique. Par exemple, la date d'aujourd'hui pour moi (1er juin 2022) deviendra le 01/06/22.
DateFormatter
Pour commencer à utiliser DateFormatter
, nous devons attribuer le style que nous voulons. La . short
style que nous attribuons rend date
dans un format numérique ou raccourci. Cela signifie que le mois, le jour et l'année sont représentés par des nombres. Notez également que l'année n'est composée que de deux chiffres au lieu de quatre.
Ensuite, .string
nous permet de convertir date
en un type de chaîne (ce que notre Text
vue exige). Il est stylisé selon dateFormatter
, qui est . short
dans notre cas.
Et si nous voulions afficher la date avec le mois sous forme de chaîne abrégée, le jour sous forme de nombre et l'année sous forme de quatre chiffres complets ? C'est facile! Nous utiliserions. medium
à la place de . short
.
Et si nous voulions afficher la date avec le nom complet du mois, un jour numérique et l'année complète ?
Vous l'avez deviné, nous utiliserions . long
.
Nous pouvons aller encore plus loin en utilisant . full
, qui nous donne le jour de la semaine, le nom complet du mois, un numéro pour le jour et l'année complète. Vous pouvez tous les voir ci-dessous.
timeStyle
Si vous souhaitez également afficher l'heure, vous pouvez vous adresser timeStyle
à dateFormatter
. Cette option s'applique de la même manière que dateStyle
dans le sens où vous pouvez toujours utiliser les formats intégrés .short
, .medium
, .long
et ..full
Vous attribuez timeStyle
ainsi :
dateFormatter.timeStyle = .short
Si vous ajoutez la ligne ci-dessus après dateFormatter.dateStyle
, elle ajoute l'heure raccourcie à votre date. Vous pouvez voir le résultat ci-dessous:
Cet exemple illustre le dateStyle
as .full
et le timeStyle
as .short
.
Voici les autres styles de temps :
NB , Les temps indiqués ci-dessus sont un peu différents des exemples précédents, car il m'a fallu un certain temps pour changer le timeStyle
.
dateFormat
En plus de définir le dateStyle
et timeStyle
, nous pouvons également utiliser dateFormat
. Nous allons fournir une chaîne qui représente le format de date et d'heure que nous voulons.
Instancions une autre DateFormatter
instance appelée dateFormatter2
. Cette fois, utilisons à la dateFormat
place de dateStyle
et timeStyle.
Voir ci-dessous :
dateFormatter2.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
…
Text(dateFormatter2.string(from: date))
.padding(.bottom)
Voyons maintenant à quoi cela ressemble dans l'interface utilisateur :
Parfait!
Décomposons dateFormat
pour plus de clarté, en commençant par la date.
L'année ( yyyy
) est 2022. Nous avons utilisé l'année complète, mais si vous voulez simplement afficher « 22 », vous pouvez utiliser yy
.
Le mois ( MM
) est 06, correspondant à juin. Si vous souhaitez afficher le mois sans le 0, laissez-le simplement M
. Si vous voulez que le mois soit une chaîne, mettez MMMM
.
Enfin, le jour ( dd
) est 01. Si vous souhaitez afficher le jour sans le 0 devant, laissez-le simplement comme D
.
Pour formater les heures, ou HH
, vous avez deux options. La première consiste à laisser l'heure au format HH
, qui s'aligne sur l'échelle de temps de 24 heures. La deuxième option consiste à utiliser l'échelle de 12 heures, et pour ce faire, il vous suffit de la remplacer par H
.
mm
représente les minutes et ss
représente les secondes. Ceux-ci sont assez explicites.
Pour changer l'ordre de ces nombres, placez-les simplement dans différentes parties de la chaîne. Par exemple, "MM-dd-yyyy'T'h:mm:ss"
ressemblera à 06-01-2022T5:48:55
.
Jusqu'ici tout va bien! Nous pouvons maintenant utiliser DateFormatter
pour formater nos dates et heures en utilisant les formats fournis ou notre propre chaîne.
Il n'y a qu'une seule mise en garde. Vous souvenez-vous de ce que j'ai mentionné à propos de différents pays, villes, continents, etc., ayant des fuseaux horaires et des styles de date différents ? Si seulement il y avait un moyen de formater nos dates en fonction de l'endroit où nous nous trouvons dans le monde…
… et la bonne nouvelle, c'est que nous le pouvons ! Ceci est possible grâce à la localisation .
La localisation utilise des paramètres régionaux , des ensembles de paramètres utilisés pour définir l'emplacement, la langue et la syntaxe d'un utilisateur. Ceci est important si vous souhaitez rendre une application utilisable dans plusieurs endroits à travers le monde.
La localisation va au-delà de la traduction. Bien que vous puissiez utiliser une API de langue pour traduire "June 1" en anglais en "juni 15" en néerlandais pour une utilisation aux Pays-Bas, cela reste techniquement incorrect en termes de paramètres régionaux.
Aux Pays-Bas, les gens lisent les dates avec le jour précédant le mois. Techniquement, "June 1" devrait être localisé en "1 juin".
La bonne nouvelle est que cela DateFormatter
gère déjà beaucoup de cela pour nous. Cependant, nous pouvons mettre à jour manuellement DateFormatter
les paramètres régionaux de notre en manipulant sa locale
propriété.
Cette propriété détermine les paramètres régionaux de notre formateur. Si nous ne modifions pas cette propriété, les paramètres régionaux utilisés seront l'anglais américain (représenté par « en_us
» en Swift).
Si nous voulions utiliser les Pays-Bas comme paramètres régionaux, nous pouvons définir la valeur comme suit :
dateFormatter2.locale = Locale(identifier: "nl")
Voyons à quoi ressemble notre rendez-vous avec nos nouveaux paramètres régionaux.
Parfait! De cette façon, nous effectuons non seulement le changement de langue, mais également le formatage des paramètres régionaux. Cela crée une date plus précise dans l'ensemble.
Le formatage de la date dans Swift peut être simple dès la sortie de la boîte, mais nous avons diverses options de flexibilité et de personnalisation. Certains cas peuvent nécessiter une date plus courte, et d'autres peuvent nécessiter une date plus longue.
Vous pouvez également constater que l'affichage du mois sous forme de chaîne est plus acceptable ou cohérent pour votre application que le nombre. Vous pouvez également mieux répondre aux besoins des utilisateurs du monde entier en mettant en œuvre la localisation, ce qui rend votre application plus familière pour eux.
Le temps est notre atout le plus précieux. Le moins que l'on puisse faire est de le formater efficacement.
Tout le code d'accompagnement de cet article est disponible sur GitHub .
Source : https://blog.logrocket.com/how-to-use-dateformatter-swift/
1600430400
Swift is a fast and efficient general-purpose programming language that provides real-time feedback and can be seamlessly incorporated into existing Objective-C code. This is why developers are able to write safer, more reliable code while saving time. It aims to be the best language that can be used for various purposes ranging from systems programming to mobile as well as desktop apps and scaling up to cloud services.
Below here, we list down the 10 best online resources to learn Swift language.
(The list is in no particular order)
#developers corner #free online resources to learn swift language #learn swift #learn swift free #learn swift online free #resources to learn swift #swift language #swift programming
1609999986
A thoroughly researched list of top Swift developers with ratings & reviews to help find the best Swift development companies around the world.
#swift development service providers #best swift development companies #top swift development companies #swift development solutions #top swift developers #swift
1594193714
Want to create a native iOS application for your Startup?
Hire Dedicated Swift Developers for end-to-end services like development, migration, upgrade, testing, and support & maintenance. Trust HourlyDeveloper.io our Swift development team for iOS device apps that are high on performance and security.
Consult with experts:- https://bit.ly/2C5M6cz
#hire dedicated swift developers #swift developers #swift development company #swift development services #swift development #swift
1603285318
Hire an Exceptional Swift App Developer from Mobile App Development India. Maadi has a dedicated Swift App Development team that is superiorly talented and builds highly functional, cost-effective mobile apps with error-free coding.
Contact: https://www.mobile-app-development-india.com/swift-app-development/
#swift ios app development india #hire swift programmer india #swift ios development #apple swift app development #swift mobile app development #swift app development