ios - segundos - suma y resta de angulos wikipedia
Resta minutos de NSDate (4)
Desde iOS 8 hay una dateByAddingUnit
más conveniente:
//subtract 15 minutes
let calendar = NSCalendar.autoupdatingCurrentCalendar()
newDate = calendar.dateByAddingUnit(.CalendarUnitMinute, value: -15, toDate: originalDate, options: nil)
Quiero restar algunos minutos 15 minutos, 10 minutos, etc., y estoy teniendo objeto de fecha con tiempo ahora, quiero restar minutos.
Echa un vistazo a mi respuesta a esta pregunta: NSDate resta un mes
Aquí hay una muestra, modificada para su pregunta:
NSDate *today = [[NSDate alloc] init];
NSLog(@"%@", today);
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setMinute:-10]; // note that I''m setting it to -1
NSDate *endOfWorldWar3 = [gregorian dateByAddingComponents:offsetComponents toDate:today options:0];
NSLog(@"%@", endOfWorldWar3);
¡Espero que esto ayude!
La respuesta actual de Swift está desactualizada en Swift 2.x. Aquí hay una versión actualizada:
let originalDate = NSDate() // "Jun 8, 2016, 12:05 AM"
let calendar = NSCalendar.currentCalendar()
let newDate = calendar.dateByAddingUnit(.Minute, value: -15, toDate: originalDate, options: []) // "Jun 7, 2016, 11:50 PM"
El valor de NSCalendarUnit
OptionSetType
ha cambiado a .Minute
y ya no se puede pasar en nil
para las options
. En su lugar, utilice una matriz vacía.
Actualización para Swift 3 usando las nuevas clases de Date
y Calendar
:
let originalDate = Date() // "Jun 13, 2016, 1:23 PM"
let calendar = Calendar.current
let newDate = calendar.date(byAdding: .minute, value: -5, to: originalDate, options: []) // "Jun 13, 2016, 1:18 PM"
Actualice el código de arriba para Swift 4:
let newDate = calendar.date(byAdding: .minute, value: -5, to: originalDate) // "Jun 13, 2016, 1:18 PM"
Use lo siguiente:
// gives new date object with time 15 minutes earlier
NSDate *newDate = [oldDate dateByAddingTimeInterval:-60*15];