iOS官方文档 Foundation篇---NSDate

NSDate

表示特定时间点,与任何日历或时区无关;

  • 继承自NSObject;
  • NSDate对象封装一个时间点,独立于任何特定的日历系统或时区。日期对象是不可变的,表示相对于绝对引用日期(2001年1月1日00:00:00 UTC)的不变时间间隔。
  • NSDate对象可以与NSDateFormatter对象一起使用,以创建本地化的日期和时间;
  • NSDate对象可以与NSCalendar对象一起使用,以执行日历算术。
  • NSDate用于比较日期、计算两个日期之间的时间间隔,根据另一个日期的时间间隔创建新日期;
创建日期
// 创建日期为当前时间的日期对象
NSDate *date = [NSDate date];// 2019-05-25 05:49:52 +0000

// 创建从当前日期和时间到给定秒数的日期对象。
NSDate *date1 = [NSDate dateWithTimeIntervalSinceNow:24*60*60];//2019-05-26 05:50:05 +0000

// 创建从1970年1月1日00:00:00 UTC到给定秒数的日期对象。
NSDate *date2 = [NSDate dateWithTimeIntervalSince1970:0];//1970-01-01 00:00:00 +0000

// 创建从指定日期和时间到给定秒数的日期对象。
NSDate *date3 = [NSDate dateWithTimeInterval:24*60*60 sinceDate:date];//2019-05-26 05:50:05

// 创建从2001年1月1日00:00:00 UTC到给定秒数的日期对象。
NSDate *date4 = [NSDate dateWithTimeIntervalSinceReferenceDate:0];//2019-05-26 05:50:05
获得时间边界
// 表示未来日期的日期对象。
NSDate *date5 = [NSDate distantFuture];//4001-01-01 00:00:00 +0000

// 表示过去日期的日期对象
NSDate *date6 = [NSDate distantFuture];//4001-01-01 00:00:00 +0000
比较日期
// 创建日期为当前时间的日期对象
NSDate *date = [NSDate date];// 2019-05-25 05:49:52 +0000

// 创建从当前日期和时间到给定秒数的日期对象。
NSDate *date1 = [NSDate dateWithTimeIntervalSinceNow:24*60*60];//2019-05-26 05:50:05 +0000

// 判断两个日期是否相等
BOOL isEqual = [date isEqualToDate:date1];//NO

// 返回两个日期中较早的日期
NSDate *earlyDate = [date earlierDate:date1];//2019-05-25 05:50:00 +0000

// 返回两个日期中较晚的日期
NSDate *laterDate = [date laterDate:date1];//2019-05-26 05:50:00 +0000

/*
 typedef NS_CLOSED_ENUM(NSInteger, NSComparisonResult) {
 NSOrderedAscending = -1L,升序
 NSOrderedSame,相等
 NSOrderedDescending 降序
 };
 */
// 判断时间顺序
NSComparisonResult result = [date compare:date1];//NSOrderedAscending
获取时间间隔
// 创建日期为当前时间的日期对象
NSDate *date = [NSDate date];// 2019-05-25 05:49:52 +0000

// 获取两个时间的间隔
NSTimeInterval interval = [date timeIntervalSinceDate:date1];

// 获取指定日期与当前日期之间的时间间隔
NSTimeInterval interval1 = [date timeIntervalSinceNow];

// 获取指定日期与1970年1月1日00:00:00 UTC之间的时间间隔
NSTimeInterval interval2 = [date timeIntervalSince1970];

// 获取指定日期与2001年1月1日00:00:00 UTC之间的时间间隔
NSTimeInterval interval3 = [date timeIntervalSinceReferenceDate];
添加时间间隔
// 获取指定日期与指定时间间隔的日期
NSDate *date7 = [date dateByAddingTimeInterval:24*60*60];//2019-05-26 05:50:00
描述日期
// 日期转字符串
NSString *dateStr = [date description];//2019-05-25 05:50:00 +0000

// 获取所有local标识
NSArray *locales = [NSLocale availableLocaleIdentifiers];

//  日期指定语言环境的的日期字符串
NSString *dateStr1 = [date descriptionWithLocale:@"en_CH"];//2019年5月25日 星期六 中国标准时间 下午3:48:41
欢迎留言指正,会持续更新。。。

你可能感兴趣的:(iOS官方文档 Foundation篇---NSDate)