17 Foundation框架之NSDate、NSDateFormatter、NSDateComponents、NSCalendar、NSLocale、NSTimer
Tags: Objective-C
NSDate
:日期与时间。
NSDateFormatter
:日期格式器。用来转换NSDate和NSString。
NSDateComponents
:日期组件。包含了对NSDate中的year、month、day、day、hour、minute、second、week、weedday等各字段的setter和getter方法。
NSCalendar
:日历。用来转换NSDate和NSDateComponents。
NSLocale
:区域。表示区域信息。
NSTimer
:定时器。用来表示每隔多少秒执行某个对象的方法。
下面有个类的关系图:
代码示例如下:
NSDateTest.m
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//获取当前日期时间
NSDate *date1 = [NSDate date];
NSLog(@"%@", date1);
//获取当前日期开始,一天之后的日期
NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:3600*24];
NSLog(@"%@", date2);
//获取当前日期开始,3天之前的日期
NSDate *date3 = [[NSDate alloc] initWithTimeIntervalSinceNow:-3*3600*24];
NSLog(@"%@", date3);
//获取从1970年开始,30年后的日期
NSDate *date4 = [NSDate dateWithTimeIntervalSince1970:30*3600*366*24];
NSLog(@"%@", date4);
//获取系统当前的Locale
NSLocale *cn = [NSLocale currentLocale];
//获取在当前Locale下的日期时间的对应字符串
NSLog(@"%@", [date1 descriptionWithLocale:cn]);
//获取两个日期之间较早的那个
NSDate *earlier = [date1 earlierDate:date2];
NSLog(@"date1与date2之间较早的是:%@", earlier);
//获取两个日期之间较晚的那个
NSDate *later = [date1 laterDate:date2];