Récupération de date
muqaddar
Administrateur
Salut,
Je récupère des dates sous forme de NSString dans un premier temps avec ce format :
[tt]lundi 7 mars 2005 20:13:16[/tt]
J'ai besoin de transformer cela en NSDate pour m'en servir pour comparer avec d'autres dates qui auront le même format.
Comme je récupère cette date depuis un logiciel FR, il faut que je prévois de récuperer d'autres formats de langue aussi...
Quelle est la meilleure solution qui s'offre à moi ?
Moi je pense que le plus simple serait de transformer la date en UNIX_TIMESTAMP().
merci de vos suggestions
Je récupère des dates sous forme de NSString dans un premier temps avec ce format :
[tt]lundi 7 mars 2005 20:13:16[/tt]
J'ai besoin de transformer cela en NSDate pour m'en servir pour comparer avec d'autres dates qui auront le même format.
Comme je récupère cette date depuis un logiciel FR, il faut que je prévois de récuperer d'autres formats de langue aussi...
Quelle est la meilleure solution qui s'offre à moi ?
Moi je pense que le plus simple serait de transformer la date en UNIX_TIMESTAMP().
merci de vos suggestions
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
[tt]NSDate* date = [NSDate dateWithNaturalLanguageString:laDate locale:NSUserDefaults standardUserDefaults] dictionaryRepresentation];[/tt]
Effectivement, ça me semble très bon.
ça me renvoie ça : 2005-03-07 20:13:16 +0100
En php c'est time(); en mySQL c'est Now() mais en objective-C ? ;-)
[tt]NSDate* date = [NSDate date];[/tt]
Sinon, je sais pas ce que c'est un RTFM moi alors...
Et bête question, comme ça pourrait être une constante, vu que la date du moment évolue constamment
Ben oui c'est ça la definition d'une constante !:
Constante = constamment (en évolution)
;D ;D ;D
OK je sors :)beta:
N'empêche : date pour renvoyer la date du jour, ça n'est pas parlant comme je le disait plus, POO ou pas.
Quand je regarde la liste des fonctions en haut de la doc, tu cherches unt ruc du genre "Now", pas "date", pourquoi date renverrait la date du jour ?
[NSDate dateWithNaturalLanguageString:[NSDate date] locale:NSUserDefaults standardUserDefaults] dictionaryRepresentation
qui me renvoie un pb de length...
[NSDate dateWithNaturalLanguageString:NSDate date] stringValue] locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation
ne marche pas non plus...
Je veux la date du moment en "local".
Une idée ?
Concerne les préférences utilisateurs de ton application, pas les préférences de localisation du système.
Il me semble que tu devrais pas avoir à utiliser:
+ dateWithNaturalLanguageString:(NSString *)string locale:(NSDictionary *)localeDictionary
mais tout simplement:
+ dateWithNaturalLanguageString:(NSString *)string
Evidemment si tu as pas localisé ton appli en français et que t'as pas de "French.lproj" tu obtiendras une date en anglais.
En échange de quoi lorsque tu localiseras ton appli elle obtiendra bel est bien les bonnes localisations y compris en japonais si l'utilsateur a localisé sa bécanne dans ce langage ET que tu as inclus "Japanese.lproj".
Enfin j'ai pas testé sur les dates mais ça me parrait être le comportement général ....
Tu me conseilles de sauvedarder mes dates sous quel format ? Je suis dans le english.lproj, mais je récupère les dates en français de Mail... Si je décidais de passer sur système anglais, je voudrais que le fichier des dates restent exploitables...
Je pense à : dateWithTimeIntervalSince1970:
qui renvoie le nombre de secondes depuis 1970...
Ensuite, dateWithNaturalLanguageString attend une string, comment j'envoie en string [NSDate date], cf mon message plus haut ?
Erreur! Cette classe inclus aussi des méthodes d'accès a certaines préférences systèmes, comme justement les termes localisés d'une date, les formats préférés de dates et d'heures (courts et longs), le symbole pour la monnaie, le séparateur décimal utilisé, le séparateur de milliers utilisés.
Quant à oxitan, on le répétera jamais assez RTFM [tt]-descriptionWithNaturalLangageString:locale:[/tt] demande du NSString pour fonctionner, alors pourquoi tu vas mettre des NSDate? Quant à [tt]-stringValue[/tt], c'est une méthode de NSNumber, NSControl, NSCell et NSAppleEventDescriptor, de nouveau dans la doc de NSDate (même pas la peine de remonter à NSObject), il y a une rubrique qui s'appelle Representing dates as NSStrings et qui propose 3 méthodes, dont une qui est universelle (puisqu'elle est implémentée dans NSObject) qui est [tt]-description[/tt] (et ne me dis pas que tu ne l'as jamais utilisée dans un NSLog par exemple). J'ai l'impression que ton problème n'est pas le code, mais lire correctement la doc... Installe AppKiDo, c'est très pratique pour la parcourir.
Sinon autre chose, si tu regardes le plist editor (pas de RTFM pour ça), tu remarqueras que les dates sont prises en compte automatiquement, donc à priori tu n'as pas à te soucier de leur sauvegarde. Si ça ne marche pas (ce qui m'étonnerais), tu sauves avec un [tt]-description[/tt] et tu récupères avec [tt]+dateWithNaturalLanguageString:[/tt], comme ça tu les sauves dans un format standard, non lié à une langue, ce qui fait que l'utilisateur pourra changer de langue s'il en a envie.
Ah!
C'est là que ça se passe ?
Merci alors, parceque ça n'a jamais été bien clair pour moi c't'affaire.
[userDefauts persistentDomainForName:@com.apple.iTunes];
Tu as répondu avant que j'ai réalisé que je me posais la question !! ???
C'est ce qui s'appèle être [grilled] ça !