如何将NSDate
转换为秒?我需要它在几秒钟内,以便我可以添加30秒到日期,然后转换回NSDate
来安排本地通知。任何更好的方法也是受欢迎的。
答案 0 :(得分:6)
您可以使用dateByAddingTimeInterval
并将值传入30.这将返回NSDate
,这将提前30秒。
NSDate *newDate = [previousDate dateByAddingTimeInterval:30];
答案 1 :(得分:-1)
Date and Time Programming Guide声明NSDateComponents应该用于执行日期计算。
引自同一文件:
您应该使用提供的方法来处理日历计算,因为它们考虑了夏令时开始或结束以及闰年等极端情况。
因此,要为日期添加30秒,您应该执行以下操作:
NSDate * date = [NSDate date];
NSCalendar * currentCalendar = [NSCalendar currentCalendar];
NSDateComponents * dateComponents = [NSDateComponents new];
[dateComponents setSecond:30];
NSDate * newDate = [currentCalendar dateByAddingComponents:dateComponents toDate:date options:0];
NSLog(@"%@", newDate);