añadir a NSTimeInterval NSDate en el cacao
Pregunta
Tengo un NSDate
que representa un tiempo específico. La presentación de esa fecha es hhmmss. Quiero añadir un valor NSInterval
(especificado en segundos) para que el valor de tiempo.
Ejemplo:
NSDate = 123000
NSTimeInterval = 3600
Added together = 133000
¿Cuál es la mejor manera de hacer esto?
Solución
¿Has visto la Las fechas y los tiempos de programación Temas para manual de cacao ?
Básicamente lo que necesita para convertir su tiempo en un NSDate. Para convertir una cadena en una fecha utiliza la clase NSDateFormatter
o tal vez NSDateComponents
si ya conoce las horas, minutos y segundos.
Su NSTimeInterval
es sólo un doble (es decir, 3600,0).
A continuación, se utiliza el método de dateByAddingTimeInterval
NSDate para añadir el número de segundos a la vez.
NSDate* newDate = [oldDate dateByAddingTimeInterval:3600.0];
A continuación, puede utilizar cualquiera NSDateFormatter
o NSDateComponents
para obtener el nuevo tiempo de volver a salir.
Otros consejos
addTimeInterval ahora es obsoleto. Trate de usar dateByAddingTimeInterval su lugar.
// This will set the time when your view appears it will also
// set the time if you want to retrieve from it.
-(void)viewDidAppear:(BOOL)animated
{
//Create todays date
NSDate *duedate = [NSDate date];
//Add how ever many days you could write 86400*numbe_of_days days 86400/24 for an hour
//Then simply reassign the variable or use a different one.
duedate = [duedate dateByAddingTimeInterval:86400]; //I add one day
[datePicker setDate:duedate animated:YES]; //Animate yes will show your pickers moving
[datePicker setMinimumDate:duedate]; //Set minimum date.
}