Existe-t-il un moyen simple d'initier un NSDate
avec la date/heure UTC actuelle ?
Réponses
Trop de publicités?[NSDate date];
Vous pouvez créer une catégorie qui fait quelque chose comme ceci :
-(NSString *)getUTCFormateDate:(NSDate *)localDate
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *dateString = [dateFormatter stringFromDate:localDate];
[dateFormatter release];
return dateString;
}
NSDate est une référence à un intervalle à partir d'une date de référence absolue, le 1er janvier 2001 00:00 GMT. La méthode de la classe [NSDate date] renvoie donc une représentation de cet intervalle. Pour présenter ces données dans un format textuel en UTC, il suffit d'utiliser le NSDateFormatter avec le NSTimeZone (UTC) approprié pour effectuer le rendu nécessaire.
NSDate encapsulent un point unique dans le temps, indépendamment de tout système calendaire ou fuseau horaire particulier. Les objets date sont immuables, représentant un intervalle de temps invariable par rapport à une date de référence absolue (00:00:00 UTC le 1er janvier 2001).
Version Swift :
extension NSDate {
func getUTCFormateDate() -> String {
let dateFormatter = NSDateFormatter()
let timeZone = NSTimeZone(name: "UTC")
dateFormatter.timeZone = timeZone
dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
return dateFormatter.stringFromDate(self)
}
}