Comment pourrais-je convertir un NSString
" 01/02/10 " (c'est-à-dire le 1er février 2010) en un NSDate
? Et comment pourrais-je transformer le NSDate
dos en chaîne?
ios
objective-c
nsstring
nsdate
cannyboy
la source
la source
Réponses:
Swift 4 et versions ultérieures
Mise à jour: 2018
Chaîne à ce jour
Date à chaîne
Swift 3
Mis à jour: 20 juillet 2017
Chaîne en NSDate
NSDate to String
Rapide
Mis à jour: 22 octobre 2015
Chaîne en NSDate
NSDate to String
Objectif c
NSString à NSDate
NSDate convertit en NSString:
la source
NSDate *dateFromString = [[NSDate alloc] init];
si attribuez une nouvelle valeur au pointeur sur la ligne suivante ???MISE À JOUR 2019 (Swift 4):
J'ai fait une
Date
extension pour ça. Il utiliseNSDataDetector
au lieu deNSDateFormatter
.Assez agréable, il reconnaît même des choses comme "Demain à 5" .
Va comme:
MISE À JOUR 2014:
A fait une extension NSString pour cela.
Grâce à NSDataDetector , il reconnaît de nombreux formats.
Faisant partie du kit eppz!, Saisissez la catégorie NSString + EPPZKit.h de GitHub.
RÉPONSE ORIGINALE 2013:
Si vous n'êtes pas sûr (ou ne vous souciez pas) du format de date contenu dans la chaîne, utilisez NSDataDetector pour analyser la date .
la source
NSString
->2013-09-11 01:31:22 +0000
convertit enNSDate
->2013-09-11 13:31:22 +0000
XCTAssertEqual(Date.FromString("2013-09-11 01:31:22 +0000"), Date.FromCalendar(2013, 9, 11, 1, 31, 22))
semble très bien.Lorsque vous utilisez des dates au format fixe, vous devez définir les paramètres régionaux du formateur de date sur
"en_US_POSIX"
.Extrait du Guide de formatage des données
Swift 3 ou version ultérieure
usage:
Analyser la date personnalisée et reconvertir la date au même format de chaîne:
Voici tous les éléments que vous pouvez utiliser pour le personnaliser selon vos besoins:
la source
Pourquoi ne pas ajouter une catégorie à NSString?
la source
utiliser "10" pour représenter une année n'est pas bon, car cela peut être 1910, 1810, etc. Vous devriez probablement utiliser 4 chiffres pour cela.
Si vous pouvez changer la date en quelque chose comme
Ensuite, vous pouvez utiliser:
la source
la source
la source
Si vous souhaitez définir le format, utilisez le code ci-dessous:
la source
Utilisez cette méthode pour convertir de
NSString
àNSdate
:la source
Si quelqu'un est intéressé à faire quelque chose comme ça dans Swift ces jours-ci, j'ai un début sur quelque chose, même si ce n'est pas parfait.
la source
Date à NSString
NSString à NSDate
la source
Vous pouvez utiliser des extensions pour cela.
Ainsi, alors que le code réel d'exécution ressemblera à ce qui suit
Il existe également des méthodes par défaut, mais je suppose que cela pourrait ne pas fonctionner pour le format que vous avez donné dans la documentation
la source
La meilleure pratique est de vous construire une classe générale où vous mettez toutes vos méthodes d'utilisation générale, des méthodes utiles dans presque tous les projets et y ajoutez le code suggéré par @Pavan comme:
.. et ainsi de suite pour toutes les autres méthodes utiles
Ce faisant, vous commencez à créer un code réutilisable propre pour votre application. À votre santé!
la source
Selon Swift 2.2
Vous pouvez obtenir facilement NSDate à partir de String et String à partir de NSDate. par exemple
Premier formateur de date
Maintenant, obtenez la date de la chaîne et vice versa.
Maintenant, profitez-en.
la source
NSString à NSDate ou NSDate à NSString
la source
Les exemples ci-dessus ne sont pas simplement écrits pour Swift 3.0+
Mise à jour - Swift 3.0+ - Convertir la date en chaîne
la source
Chaîne à ce jour
Date à chaîne
la source