¿Cómo puedo restablecer la fecha actual recuperado de [fecha NSDate] pero luego cambiar la hora a las 10:00 de la mañana.obtener la fecha actual desde [fecha NSDate] pero ajustar la hora a 10:00 am
Respuesta
Al igual que con todas las manipulaciones fecha en que se tiene que utilizar NSDateComponents y NSCalendar
NSDate *now = [NSDate date];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier: NSCalendarIdentifierGregorian];
NSDateComponents *components = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:now];
[components setHour:10];
NSDate *today10am = [calendar dateFromComponents:components];
en iOS8 Apple introdujo un método de conveniencia que guarda unas pocas líneas de código:
NSDate *d = [calendar dateBySettingHour:10 minute:0 second:0 ofDate:[NSDate date] options:0];
Swift:
let calendar: NSCalendar! = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)
let now: NSDate! = NSDate()
let date10h = calendar.dateBySettingHour(10, minute: 0, second: 0, ofDate: now, options: NSCalendarOptions.MatchFirst)!
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setHour:10];
NSDate *date = [gregorian dateByAddingComponents:comps toDate:currentDate options:0];
[comps release];
no han sido evaluados en Xcode aunque :)
Eso no funcionará. Está agregando 10 horas a la fecha y hora actuales, sin establecer el horario a las 10:00. –
Lo sentimos, no he entendido bien la pregunta, la respuesta de @flucchtpunkt parece correcta –
No se preocupe, dateByAddingComponents aprendido. Gracias. –
este nsdate
utiliza formato diferente:
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"MMM dd, yyyy HH:mm"];
NSDate *now = [[NSDate alloc] init];
NSString *dateString = [format stringFromDate:now];
NSDateFormatter *inFormat = [[NSDateFormatter alloc] init];
[inFormat setDateFormat:@"MMM dd, yyyy"];
NSDate *parsed = [inFormat dateFromString:dateString];
En realidad, no respondió la pregunta, pero de todos modos la encontré muy útil: gracias. :) –
Puede utilizar este método para cualquier minuto/hora/período (también conocido como am/pm) combinación:
- (NSDate *)todayModifiedWithHours:(NSString *)hours
minutes:(NSString *)minutes
andPeriod:(NSString *)period
{
NSDate *todayModified = NSDate.date;
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSMinuteCalendarUnit fromDate:todayModified];
[components setMinute:minutes.intValue];
int hour = 0;
if ([period.uppercaseString isEqualToString:@"AM"]) {
if (hours.intValue == 12) {
hour = 0;
}
else {
hour = hours.intValue;
}
}
else if ([period.uppercaseString isEqualToString:@"PM"]) {
if (hours.intValue != 12) {
hour = hours.intValue + 12;
}
else {
hour = 12;
}
}
[components setHour:hour];
todayModified = [calendar dateFromComponents:components];
return todayModified;
}
solicitada Ejemplo :
NSDate *todayAt10AM = [self todayModifiedWithHours:@"10"
minutes:@"00"
andPeriod:@"am"];
Acabo de configurar la zona horaria con la respuesta de Matthias Bauch Y funcionó para mí. de lo contrario, agregaba 18:30 min más.
let cal: NSCalendar = NSCalendar.currentCalendar()
cal.timeZone = NSTimeZone(forSecondsFromGMT: 0)
let newDate: NSDate = cal.dateBySettingHour(1, minute: 0, second: 0, ofDate: NSDate(), options: NSCalendarOptions())!
- 1. Obtener Fecha y hora actual y el tiempo con [fecha NSDate] fecha y hora
- 2. ¿Cómo obtener la fecha y hora actual?
- 3. Obtener la fecha/hora actual en segundos
- 4. Fecha/hora actual de la fecha de la secuencia?
- 5. Cómo obtener NSDate actual para el simulador Fecha? iPhone Sdk
- 6. ¿[NSDate date] devuelve la fecha y hora local?
- 7. cómo obtener la fecha y hora actual en SQL?
- 8. Cómo obtener la fecha actual Hora formateada en Flex
- 9. Obtener un DateTime restando segundos desde la fecha actual
- 10. necesita para obtener fecha y hora actual en Java
- 11. Cómo obtener la fecha y la hora actual de la columna Fecha/Hora en la lista personalizada de SharePoint
- 12. ¿Cómo puedo verificar si la fecha/hora actual es posterior a una fecha/hora establecida?
- 13. PHP Fecha Hora Hora actual Agregar minutos
- 14. ¿Cómo puedo obtener fecha y hora actual en PHP
- 15. Cómo obtener la fecha y hora del sello de fecha y hora
- 16. Rieles obteniendo la hora actual sin la fecha
- 17. cómo obtener la fecha/hora actual como un objeto de fecha en PHP
- 18. Python: obtener la fecha y hora de la última hora
- 19. Cómo obtener AM/PM desde una fecha y hora en PHP
- 20. ¿Cómo creo la fecha actual (o cualquier fecha) como un NSDate sin horas, minutos y segundos?
- 21. NSDate - Convertir fecha a GMT
- 22. Validar si la fecha es anterior a la fecha actual
- 23. Construir fecha y hora usando la fecha de hoy a una hora específica
- 24. Mostrar fecha/hora UTC en fecha/hora de acuerdo con la zona horaria actual
- 25. Java - ¿Cómo obtener la fecha actual independiente de la fecha del sistema?
- 26. ¿Cómo obtener la fecha actual usando jquery?
- 27. ¿Cómo obtener fecha y hora en JavaScript?
- 28. Insertar fecha actual en formato de fecha y hora mySQL
- 29. Cómo obtengo la fecha actual en Cocoa
- 30. Convertir hora UTC a fecha hora local
Votado. Pero, por favor, deshazte de la liberación automática de tu código. Es 2014. –
Y la respuesta fue escrita en 2011. No dudes en consultar y editar mis otras 1093 respuestas. Muchos de ellos pueden necesitar un poco de modernización. ;-) –
Mi Dios, yo estaba seguro de que era nueva respuesta) –