Date et l'Heure actuelles - NSDate
J'ai besoin d'afficher la Date et l'Heure actuelles.
J'ai utilisé ;
NSDate *currentDateNTime = [NSDate date];
Je veux avoir la date et l'heure actuelles (Doit afficher l'heure système et non pas l'heure GMT).
La sortie doit être en NSDate
format et de ne pas NSString
.
par exemple;
NSDate *currentDateNTime = [NSDate date];
//Do the processing....
NSDate *nowDateAndTime = .....; //Output should be a NSDate and not a NSString
Que voulez-vous dire?
Il n'est pas question ici. [NSDate date] renvoie la date actuelle!
Je veux obtenir à la fois Date et l'Heure actuelles. ex : 2012 23 Mai 04.50 PM
Je sais qu'. mais j'en ai besoin pour faire revenir le Système à temps et pas à l'heure GMT.
double de stackoverflow.com/questions/10772033/...
[NSDate date]
vous donnera l'heure actuelle. Que voulez-vous?Il n'est pas question ici. [NSDate date] renvoie la date actuelle!
Je veux obtenir à la fois Date et l'Heure actuelles. ex : 2012 23 Mai 04.50 PM
Je sais qu'. mais j'en ai besoin pour faire revenir le Système à temps et pas à l'heure GMT.
double de stackoverflow.com/questions/10772033/...
OriginalL'auteur sharon Hwk | 2012-05-28
Vous devez vous connecter pour publier un commentaire.
Depuis tous les NSDate est GMT visée, vous voulez probablement à ceci:
(ne'f oublier que le nowDate ne sera pas le système actuel date-heure, mais c'est "décalé", donc si vous générez des NSString à l'aide de NSDateFormatter, vous verrez une date erronée)
si vous avez besoin d'afficher, vous devez NSString. Comment afficher l'objet NSDate?
Je ne vais pas à l'écran, mais l'utilisation de la NSDate à faire le calcul de la date et l'heure actuelles.
C'est terrible des conseils. Vous ne devriez pas être manuellement le décalage des dates de compenser pour les fuseaux horaires. Utilisation
NSDateFormatter
pour afficher une date dans une zone particulière.Je suis désolé, mais même si c'est ce qui a été demandé, je downvote cette réponse. Tentative de parler à l'interlocuteur de cette approche, ou au moins WARN d'autres lecteurs, ils ne veulent pas le faire. Pour passer un datetime qui n'est pas ce qu'il semble être est fondamentalement horrible de conception. Une solution est de passer d'une classe ou d'une structure à deux champs (NSDate, NSTimeZone). Si vous avez d'interagir avec le code existant qui ne peut pas être adapté, alors oui, vous pourriez avoir besoin d'un convertisseur de ce genre. Limiter l'utilisation du "mensonge" NSDate à une petite partie de votre code, utilisez le "timezoned" structure ailleurs.
OriginalL'auteur Giorgio Marziani de Paolis
Chaque moment dans le temps est le même moment partout dans le monde, c'est juste exprimé en différents temps d'horloge dans différents fuseaux horaires. Par conséquent, vous ne pouvez pas changer la date à une autre date que représente l'heure de votre fuseau horaire, vous devez utiliser un
NSDateFormatter
que vous nourrissez avec le fuseau horaire où vous vous trouvez. La chaîne résultante est le moment exprimé à l'heure de l'horloge de votre position.Faire tous les calculs requis en GMT, et il suffit d'utiliser un module de formatage de l'affichage.
OriginalL'auteur vikingosegundo
La peine de lire
Est-ce que [NSDate date] retourne la date et l'heure locales?
Quelques ressources utiles pour ceux qui viennent à ce, plus récemment:
Apple date et l'heure guide de programmation ne lire que si vous êtes en train de faire quelque chose de sérieux avec les dates et les heures.
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/DatesAndTimes/DatesAndTimes.html#//apple_ref/doc/uid/10000039i?language=objc
Utile de la catégorie sur NSDate avec beaucoup d'utilitaires ne permet pas à un ~nouveau~ date à être généré à partir d'une date existant.
https://github.com/erica/NSDate-Extensions
Il y a aussi une swift version de la catégorie
https://github.com/erica/SwiftDates
OriginalL'auteur ReaddyEddy
Vous avez besoin d'un NSDateFormatter et appel stringFromDate cette méthode pour obtenir une chaîne de caractères de votre date.
dateFromString
) il me montre l'heure GMT et non pas l'heure du système.OriginalL'auteur lu yuan
utiliser cette méthode
cela peut vous revenir à ce que vous voulez.
j'espère que vous cela peut vous aider.
Je doute que cela soit correct, car il semble y avoir aucune mention de la système (paramètres régionaux en cours), qui est ce que la question demande. (Si cela ne en quelque sorte de produire le résultat désiré, comment il n'est pas intuitive.)
OriginalL'auteur Nilesh Kikani