Pregunta

Tengo el formato de 2:01:20 pm en una etiqueta; Después de algunos cálculos, necesito cambiar la hora y/o minuto de esa etiqueta.

Es decir, ¿es posible cambiar ese valor de la etiqueta, convirtiéndolo como objeto nsdate y modificando horas y minuto como 3:20:30 pm?

¿Hay algún método setter para esto?

¿Fue útil?

Solución

Si necesita calcular instancias reales específicas en el tiempo, por ejemplo, 3:20:30 pm 23 de octubre de 2010, entonces desea usar NSCALENDAR que le permite descomponer las fechas y hacer cálculos relacionados con la fecha.

Palabra de advertencia. Los cálculos de fecha y hora son sorprendentemente complejos y detallados. Espere pasar un par de horas aprendiendo la API.

Otros consejos

La respuesta a tu primera pregunta "¿Cómo establecer un minuto de hora en NSDate programáticamente?"Está siguiendo:

    NSDate* result;
    NSDateComponents *comps = [[NSDateComponents alloc] init];
    [comps setMinute:0];
    [comps setHour:0];
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    result = [gregorian dateFromComponents:comps];
    [comps release];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top