NSDate/NSDateFormatter - Stockage uniquement de temps, pas de date?
J'ai été en regardant autour, mais je n'ai pas vu quoi que ce soit qui traite de ce donc je suis en espérant que quelqu'un peut aider à éclaircir ce point pour moi. Ce que j'essaie de faire est d'utiliser un NSDate variable(données de base) pour stocker un moment, pas de date et d'heure, mais juste à l'heure au format HH:MM:SS;
Après avoir regardé la NSDateFormatter classe de référence et l'exemple de code fourni, j'ai été en mesure de le tordre et de penser que mon code devrait ressembler à quelque chose comme ce qui suit:
NSDateFormatter *timeOfArrival = [[NSDateFormatter alloc] init];
[timeOfArrival setTimeStyle:NSDateFormatterLongStyle];
[timeOfArrival setDateStyle:NSDateFormatterNoStyle];
[timeOfArrival setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
NSString *etaStr = [attributeDict objectForKey:@"cumulativeTime"];
NSLog(@"%@", etaStr);
checkpoint.eta = [timeOfArrival dateFromString:etaStr];
Tout jusqu'à la dernière ligne, où j'essaie de créer mon objet NSDate de ma chaîne fonctionne, mais après, le point de contrôle.l'eta est toujours nul.
etaStr correctement les résultats de ma valeur attendue, 00:14:00, par exemple, mais je ne suis pas sûr de ce que je fais mal.
OriginalL'auteur Karoly S | 2011-08-22
Vous devez vous connecter pour publier un commentaire.
Après le réglage des paramètres régionaux et le format de la date vous devriez être en mesure de convertir à partir de la date à la chaîne et au dos. Parce que vous avez juste besoin de temps, vous pouvez ignorer la partie de la date.
Sortie
Swift version
Temps de mettre à jour cette réponse rapide:
Swift 3 version
Vous pouvez le reprendre. Cliquez simplement sur le upvote bouton. 😉
en fait, je ne peux pas..."Vous dernier voté sur cette réponse 16 heures Votre vote est maintenant verrouillé, sauf si cette réponse est édité" donc je ne peux pas upvote à nouveau à moins que vous pouvez modifier et ajouter une date à *etaStr...parce que vous êtes de ne pas le rendre clair que le temps peut être sorti d'un NSDate où il y a une date et l'heure de l'OP spécifié.
Faites le code un peu plus clair pour voir où la date est générée.
+1 Bon point. C'est un autre aspect de la réponse.
OriginalL'auteur Mundi
Après cette pensée à travers un peu, et essayer Mundi réponse, il ressemblait à Mundi a été la création d'une chaîne de caractères à partir d'une chaîne sans la création d'un NSDate ou de la conversion en, ou à partir d'un NSDate. J'avais besoin de stocker un NSDate ainsi, donc voici comment vous pouvez obtenir ce que vous voulez assez facilement:
Mundi la réponse de travaux, donc, quelqu'un doit upvote sa réponse depuis que j'ai le bas voté trop vite, sans prendre en compte le fait que si la date @"1/21/13 00:14:00" n'a pas vraiment d'importance dans ce cas, mais il aurait du mettre une date en face d'elle à préciser que la date n'est pas sortie. Quelqu'un est variable d'un service web ou un autre objet serait la date, puis l' @"HH:mm:ss" devrait sortir à la fois seulement. Cela permet aussi de ceux qui ont besoin de l'AM/PM sur leur date ou de l'heure.
OriginalL'auteur whyoz
Swift 4
Si vous souhaitez utiliser avec la date du jour
si vous voulez ajouter du temps dans n'importe quelle date puis:-
OriginalL'auteur dinesh sharma
J'ai fini pas à l'aide de NSDate/NSDateFormatter parce que je ne pouvais pas le faire fonctionner correctement. Ma solution a consisté à analyser ma chaîne de temps en heures, minutes et secondes. J'ai fini par la conversion de tout de secondes, et le stockage de cette façon.
OriginalL'auteur Karoly S