quiero para juego hablar español descargar con app iphone objective-c ios cocos2d-iphone

iphone - para - Objetivo C-obtener el día siguiente de hoy(mañana)



siri juego (3)

En iOS 8 hay un método conveniente en NSCalendar llamado isDateInTomorrow .

C objetivo

NSDate *date; BOOL isTomorrow = [[NSCalendar currentCalendar] isDateInTomorrow:date];

Swift 3

let date: Date let isTomorrow = Calendar.current.isDateInTomorrow(date)

Swift 2

let date: NSDate let isTomorrow = NSCalendar.currentCalendar().isDateInTomorrow(date)

¿Cómo puedo verificar si una fecha es inherentemente MAÑANA?

No quiero agregar horas ni nada a una fecha como hoy, porque si hoy ya son las 22:59 , agregar demasiado pasaría al día siguiente, y agregar muy poco si la hora es 12:00 faltaría mañana .

¿Cómo puedo verificar dos NSDate s y asegurarme de que uno sea el equivalente de mañana para el otro?


Es posible que pueda aprovechar NSCalendar / Calendar para crear mañana:

extension Calendar { var tomorrow: Date? { return date(byAdding: .day, value: 1, to: startOfDay(for: Date())) } }


Usando NSDateComponents puede extraer los componentes día / mes / año de la fecha que representa hoy, ignorando los componentes hora / minutos / segundos, agregar un día y reconstruir una fecha correspondiente a mañana.

Entonces, imagine que desea agregar exactamente un día a la fecha actual (incluida la información de horas / minutos / segundos igual a la fecha "ahora"), puede agregar un intervalo de tiempo de 24 * 60 * 60 segundos a "ahora" usando dateWithTimeIntervalSinceNow , pero es mejor (y prueba de DST, etc.) hacerlo de esta manera usando NSDateComponents :

NSDateComponents* deltaComps = [[[NSDateComponents alloc] init] autorelease]; [deltaComps setDay:1]; NSDate* tomorrow = [[NSCalendar currentCalendar] dateByAddingComponents:deltaComps toDate:[NSDate date] options:0];

Pero si desea generar la fecha correspondiente a mañana a la medianoche , podría simplemente recuperar los componentes mes / día / año de la fecha que representa ahora, sin parte de horas / min / seg , y agregar 1 día, luego reconstruir una fecha:

// Decompose the date corresponding to "now" into Year+Month+Day components NSUInteger units = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay; NSDateComponents *comps = [[NSCalendar currentCalendar] components:units fromDate:[NSDate date]]; // Add one day comps.day = comps.day + 1; // no worries: even if it is the end of the month it will wrap to the next month, see doc // Recompose a new date, without any time information (so this will be at midnight) NSDate *tomorrowMidnight = [[NSCalendar currentCalendar] dateFromComponents:comps];

PD: Puede leer consejos realmente útiles y cosas sobre conceptos de fecha en la Guía de programación de fecha y hora , especialmente aquí sobre los componentes de fecha .