iphone - numero - Objective-C configura NSDate al UTC actual
numero de versiones de ios (3)
¿Hay alguna manera fácil de NSDate
un NSDate
con la fecha / hora actual de UTC?
NSDate es una referencia a un intervalo desde una fecha de referencia absoluta, el 1 de enero de 2001 a las 00:00 GMT. Entonces, el método de clase [NSDate date] devolverá una representación de ese intervalo. Para presentar esos datos en un formato de texto en UTC, simplemente use NSDateFormatter con el NSTimeZone (UTC) apropiado para procesar según sea necesario.
NSDate objetos NSDate encapsulan un único punto en el tiempo, independientemente de cualquier sistema calendárico o zona horaria en particular. Los objetos de fecha son inmutables, lo que representa un intervalo de tiempo invariable relativo a una fecha de referencia absoluta (00:00:00 UTC del 1 de enero de 2001).
Versión 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)
}
}
[NSDate date];
Es posible que desee crear una categoría que haga algo como esto:
-(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;
}