iphone - obtener hora y fecha por NSDate
objective-c time (4)
En Swift puede disfrutar con la extensión, por ejemplo:
// MARK: - NSDate extension -
extension NSDate {
func toString() -> String {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd MMMM yyyy - HH:mm"
return dateFormatter.stringFromDate(self)
}
func getTime() -> String {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "HH:mm"
return dateFormatter.stringFromDate(self)
}
func getDate() -> String {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
return dateFormatter.stringFromDate(self)
}
}
Y luego, en cualquier parte de tu código, puedes hacer:
print("Time right now: /(NSDate().getTime())")
¿Cómo puedo recuperar la fecha y la hora de un NSDate? Quiero verlos por separado. Gracias
Me gustaría utilizar NSDateComponents y NSCalendar si realmente quieres tener los valores para el minuto, la hora y la fecha ... Algo como esto:
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSHourCalendarUnit | NSMinuteCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit
fromDate:[NSDate date]];
luego puede usar las propiedades de los componentes para acceder al valor de cada componente con component.hour, component.year, etc.
También tenga en cuenta que si va con el ejemplo NSDateFormatter, entonces debe recordar que NSDateFormatter es un objeto pesado y realmente debería reutilizarlo si es posible ...
Usaría lo siguiente sobre las otras respuestas:
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeStyle:NSDateFormatterNoStyle];
NSString *formattedDateString = [dateFormatter stringFromDate:yourDate];
[dateFormatter release];
La ventaja que tiene es que configurará el formato según lo que el usuario haya establecido en la configuración de su sistema. De esta forma, no tiene que preocuparse por elementos como si el usuario prefiere sus fechas cortas en el formato 31/10/11 o 31/10/11. Consulte la documentation para obtener una lista de estilos disponibles.
Swift 2.2 :
let dateFormatter = NSDateFormatter()
dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle
dateFormatter.timeStyle = .NoStyle
let myDateString = dateFormatter.stringFromDate(myNSDate)
dateFormatter.dateStyle = NSDateFormatterStyle.NoStyle
dateFormatter.timeStyle = .ShortStyle
let myTimeString = dateFormatter.stringFromDate(myNSDate)
NSDate *localDate = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
dateFormatter.dateFormat = @"MM/dd/yy";
NSString *dateString = [dateFormatter stringFromDate: localDate];
NSDateFormatter *timeFormatter = [[NSDateFormatter alloc]init];
timeFormatter.dateFormat = @"HH:mm:ss";
NSString *dateString = [timeFormatter stringFromDate: localDate];
Hay muchas formas diferentes de representar la fecha y la hora, así que consulte NSDateFormatter para obtener más información.