Format pour stocker une heure
UniX
Membre
Salut.
J'ai une heure à stocker (du type 15:36:24). Je vois que tout se passe avec NSDate, mais j'ai l'impression que c'est un beau bordel pour stocker une simple heure.
Quelle est la meilleure méthode ?
J'ai une heure à stocker (du type 15:36:24). Je vois que tout se passe avec NSDate, mais j'ai l'impression que c'est un beau bordel pour stocker une simple heure.
Quelle est la meilleure méthode ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
.
Si c'est dans un plist, une NSDate marche très bien, ça va formatter tout seul dans le fichier plist sans que tu aies de soucis à te faire.
Sinon avec un NSArchiver ou NSCoder ou ce genre de choses (j'ai jamais trop touché mais c'est dans les parages il me semble) ?
Sinon si c'est stocker dans une variable le plus simple c'est [arg grilled by Bru]
Avec arg, naturellement définit comme
NSTooLate * arg
et Bru
BRUMaster * Bru
l'objet Bru, dans la [tt]chaà®ne de message[/tt], est souvent le [tt]FirstResponder[/tt]!
OK, j'y vais tout seul... :brule:
Bon en réalité je n'ai pas été réellement grilledBy:Bru, j'avais vu sa réponse au moment de poster, mais j'avais l'impression qu'il expliquait comment afficher une heure et non pas la stocker, d'autant que pour moi stocker c'était dans le sens "dans un fichier de préférences genre plist"
Ce n'est qu'après avoir posté que j'ai relu le post de Bru et modifié le mien
Donc c'est plutôt :
NSStupidMember* ali;
[ali learnToReadPostsBeforeReplying];
Sinon pour instancier des dates lorsqu'on ne connaà®t pas le format à priori, il y a une méthode qui est très intéressante:
[tt]+ dateWithNaturalLanguageString:(NSString *)string locale:(NSDictionary *)localeDictionary[/tt]
Pour cumuler des heures du style 23:30 + 17:15 = 40:45 si on utilise NSDate, on devrait avour 1 jour et 16 h 45 min...
Et si je veux garder 40:45 ?... ???
[tt]NSCalendarDate* date1 = ....;
NSCalendarDate* date2 = ....;
int hours, minutes;
[date1 years:NULL months:NULL days:NULL hours:&hours
  minutes:&minutes seconds:NULL sinceDate:date2];[/tt]