畅想网络网站建设推广,九江建设网站,html5的篮球网站开发,佛山新网站建设服务目录 一、创建日期
1.获取当前时间
2.当前时间指定秒数之后/前的时间
3.指定日期之后/后的时间
4.2001年之后/前指定秒数的时间
5.1970年之后/后指定秒数的时间
二、初始化日期
1.init
2.时间间指定秒数的时间
3.指定时间指定秒数之前/后的时间
4.2001年指定秒数之后…
目录 一、创建日期
1.获取当前时间
2.当前时间指定秒数之后/前的时间
3.指定日期之后/后的时间
4.2001年之后/前指定秒数的时间
5.1970年之后/后指定秒数的时间
二、初始化日期
1.init
2.时间间指定秒数的时间
3.指定时间指定秒数之前/后的时间
4.2001年指定秒数之后/前的时间
三、获取时间边界
1.distantFuture
2.distantPast
四、时间比较
1.比较日期是否相等
2.比较日期是否较早
3.比较日期是否较晚
4.带回调的日期比较的方法
五、获取时间间隔
1.与指定日期的时间间隔
2.距离现在的时间间隔
3.距离2001年的时间间隔
4.距离1970年的时间间隔
六、时间的运算
总结 前言 本文整理了一下NSDate的API以便需要或者忘记的时候查询下用法文章末尾贴出了开发过长中常用的NSDate的拓展方法。 系统默认NSDate的默认时间为UTC时间。
一、创建日期
1.获取当前时间 (instancetype)date; 这里返回的当前的时间(UTC时间)下面的示例展示了获取当前时间的方法。
NSDate * todayDate [NSDate date];
NSLog(当前时间:%,todayDate);
2.当前时间指定秒数之后/前的时间 (instancetype)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs; 这里返回的时候当前时间之后多少秒的时间。使用负数表示之前多少秒的时间。
NSDate * todayDate [NSDate date];
NSLog(当前时间:%,todayDate);
NSDate * afterTenSeconds [NSDate dateWithTimeIntervalSinceNow:10];
NSLog(10秒钟之后的时间:%,afterTenSeconds);
NSDate * beforeTenSeconds [NSDate dateWithTimeIntervalSinceNow:-10];
NSLog(10秒钟之前的时间:%,beforeTenSeconds);
3.指定日期之后/后的时间 (instancetype)dateWithTimeInterval:(NSTimeInterval)secsToBeAdded sinceDate:(NSDate *)date; 指定日期多少秒之后的时间负数表示指定日期多少秒之前的时间。
NSDate * todayDate [NSDate date];
NSLog(当前时间:%,todayDate);
NSDate * afterTenSecondDate [NSDate dateWithTimeInterval:10 sinceDate:todayDate];
NSDate * beginTenSecondDate [NSDate dateWithTimeInterval:-10 sinceDate:todayDate];
NSLog(10秒钟之后的时间:%,afterTenSecondDate);
NSLog(10秒钟之后的时间:%,beginTenSecondDate);
4.2001年之后/前指定秒数的时间 (instancetype)dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)ti; 返回从 2001 年 1 月 1 日 00:00:00 UTC 开始的给定秒数之后的时间负数表示给定秒数之前的时间。 NSDate * todayDate [NSDate date];
NSLog(当前时间:%,todayDate);
NSDate * tenSecondsAfter2001 [NSDate dateWithTimeIntervalSinceReferenceDate:10];
NSLog(2001-1-1 00:00:00 之后10秒的时间当前时间:%,tenSecondsAfter2001);
5.1970年之后/后指定秒数的时间 (instancetype)dateWithTimeIntervalSince1970:(NSTimeInterval)secs; 返回从 1970 年 1 月 1 日 00:00:00 UTC 开始的给定秒数之后的时间负数表示给定秒数之前的时间。
NSDate * tenSecondsAfter1970 [NSDate dateWithTimeIntervalSince1970:10];
NSLog(2001-1-1 00:00:00 之后10秒的时间当前时间:%,tenSecondsAfter1970);
二、初始化日期
1.init - (instancetype)init; 这里返回的也是当前的时间
NSDate * nowDate [[NSDate alloc]init];
NSLog(当前时间:%,nowDate);
2.时间间指定秒数的时间 - (instancetype)initWithTimeIntervalSinceNow:(NSTimeInterval)secs; NSDate * nowDate [[NSDate alloc]init];
NSLog(当前时间:%,nowDate);
NSDate * afterTenSecondsDate [[NSDate alloc]initWithTimeIntervalSinceNow:10];
NSLog(10秒钟之后的时间:%,afterTenSecondsDate);
3.指定时间指定秒数之前/后的时间 - (instancetype)initWithTimeInterval:(NSTimeInterval)secsToBeAdded sinceDate:(NSDate *)date; NSDate * nowDate [[NSDate alloc]init];
NSLog(当前时间:%,nowDate);
NSDate * afterTenSecondsDate [[NSDate alloc]initWithTimeInterval:10 sinceDate:nowDate];
NSLog(10秒钟之后的时间:%,afterTenSecondsDate);
4.2001年指定秒数之后/前的时间 - (instancetype)initWithTimeIntervalSinceReferenceDate:(NSTimeInterval)ti; NSDate * nowDate [[NSDate alloc]init];
NSLog(当前时间:%,nowDate);
NSDate * afterTenSecondsFrom2001 [[NSDate alloc]initWithTimeIntervalSinceReferenceDate:10];
NSLog(2001年10秒钟之后的时间:%,afterTenSecondsFrom2001);
5.1970年指定秒数之后/前的时间 - (instancetype)initWithTimeIntervalSince1970:(NSTimeInterval)secs; NSDate * nowDate [[NSDate alloc]init];
NSLog(当前时间:%,nowDate);
NSDate * afterTenSecondsFrom1970 [[NSDate alloc]initWithTimeIntervalSince1970:10];
NSLog(1970年10秒钟之后的时间:%,afterTenSecondsFrom1970);
三、获取时间边界
1.distantFuture
2.distantPast
四、时间比较
1.比较日期是否相等 - (BOOL)isEqualToDate:(NSDate *)otherDate; 比较A日期是否和B日期是否相同。相同返回YES,不同返回NO。
NSDate * nowDate [NSDate now];
NSDate * nowDateAfter10Seconds [NSDate dateWithTimeIntervalSinceNow:10];
if ([nowDate isEqualToDate:nowDateAfter10Seconds]) {NSLog(nowDate nowDateAfter10Seconds);
} else {NSLog(nowDate ! nowDateAfter10Seconds);
}
if ([[NSDate now] isEqualToDate:[[NSDate alloc]init]]) {NSLog(equal);
}
2.比较日期是否较早 - (NSDate *)earlierDate:(NSDate *)anotherDate; 比较A日期是否早于B日期是的话返回YES,否则返回NO。
NSDate * nowDate [NSDate now];
NSDate * nowDateAfter10Seconds [NSDate dateWithTimeIntervalSinceNow:10];
if ([nowDate isEarlierThanOrEqualTo:nowDateAfter10Seconds]) {NSLog(nowDate isEarlierThanOrEqualTo nowDateAfter10Seconds);
} else {NSLog(nowDate isNotEarlierThanOrEqualTo nowDateAfter10Seconds);
}3.比较日期是否较晚 - (NSDate *)laterDate:(NSDate *)anotherDate; 比较A日期是否晚与B日期和上面的返回结果刚好相反。 NSDate * nowDate [NSDate now];
NSDate * nowDateAfter10Seconds [NSDate dateWithTimeIntervalSinceNow:10];
if ([nowDate isLaterThan:nowDateAfter10Seconds]) {NSLog(nowDate isLaterThan nowDateAfter10Seconds);
} else {NSLog(nowDate isNotLaterThan nowDateAfter10Seconds);
}
4.带回调的日期比较的方法 - (NSComparisonResult)compare:(NSDate *)other; 这里这个方法的返回值是NSComparisonResult类型的枚举当两个日期完全相同的时候返回NSOrderedSame。
A B 返回 NSOrderedAscending A B 返回 NSOrderedSame A B 返回 NSOrderedDescending
NSDate * nowDate [NSDate now];
NSDate * nowDateAfter10Seconds [NSDate dateWithTimeIntervalSinceNow:10];
NSComparisonResult comparisonResult [nowDate compare:nowDateAfter10Seconds];
NSLog(比较结果:%ld,comparisonResult );
五、获取时间间隔
1.与指定日期的时间间隔 - (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate; 返回和指定日期的时间间隔单位是秒。
NSDate * nowDate [NSDate now];
NSDate * nowDateAfter10Seconds [NSDate dateWithTimeIntervalSinceNow:10];
NSTimeInterval timeInterval [nowDate timeIntervalSinceDate:nowDateAfter10Seconds];
NSLog(nowDate和nowDateAfter10Seconds间隔%lf秒,timeInterval);
2.距离现在的时间间隔 property (readonly) NSTimeInterval timeIntervalSinceNow; 返回指定日期距离现在的时间间隔。
NSDate * nowDate [NSDate now];
NSDate * nowDateAfter10Seconds [NSDate dateWithTimeIntervalSinceNow:10];
NSTimeInterval timeInterval nowDateAfter10Seconds.timeIntervalSinceNow;
NSLog(timeInterval:%lf秒,timeInterval);
3.距离2001年的时间间隔 property (readonly) NSTimeInterval timeIntervalSinceReferenceDate; 返回指定日期距离2001年1月1日的时间间距单位是秒。
NSDate * nowDate [NSDate now];
NSTimeInterval timeInterval nowDate.timeIntervalSinceReferenceDate;
NSLog(timeInterval:%lf秒,timeInterval);
4.距离1970年的时间间隔 property (readonly) NSTimeInterval timeIntervalSince1970; 返回指定日期距离1970年1月1日的时间间距单位是秒。
NSDate * nowDate [NSDate now];
NSTimeInterval timeInterval nowDate.timeIntervalSince1970;
NSLog(timeInterval:%lf秒,timeInterval);
六、时间的运算 - (instancetype)dateByAddingTimeInterval:(NSTimeInterval)ti; 返回指定秒数之后的时间。
NSDate * nowDate [NSDate now];
NSDate * nowDateAfter [nowDate dateByAddingTimeInterval:24 * 60 * 60];
NSLog(nowDateAfter:%,nowDateAfter);