iOS-NSDate

NSDate的常用用法

  1. 创建或初始化可用以下方法
    用于创建NSDate实例的类方法有
  • (id)date;
    返回当前时间
  • (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;
    返回以当前时间为基准,然后过了secs秒的时间
  • (id)dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)secs;
    返回以2001/01/01 GMT为基准,然后过了secs秒的时间
  • (id)dateWithTimeIntervalSince1970:(NSTimeInterval)secs;
    返回以1970/01/01 GMT为基准,然后过了secs秒的时间
  • (id)distantFuture;
    返回很多年以后的未来的某⼀一天。 比如你需要⼀一个比现在(Now)晚(大)很长时间的时间值,则可以调用该方法。
  • (id)distantPast;
    返回很多年以前的某⼀一天。

用于创建NSDate实例的实例方法有

  • (id)addTimeInterval:(NSTimeInterval)secs;
    返回以目前的实例中保存的时间为基准,然后过了secs秒的时间

用于初始化NSDate实例的实例方法有

  • (id)init;
    初始化为当前时间。类似date方法
  • (id)initWithTimeIntervalSinceReferenceDate:(NSTimeInterval)secs;
    初始化为以2001/01/01 GMT为基准,然后过了secs秒的时间。类似dateWithTimeIntervalSinceReferenceDate:方法
  • (id)initWithTimeInterval:(NSTimeInterval)secs sinceDate:(NSDate *)refDate;
    初始化为以refDate为基准,然后过了secs秒的时间
  • (id)initWithTimeIntervalSinceNow:(NSTimeInterval)secs;
    初始化为以当前时间为基准,然后过了secs秒的时间

2 取回时间间隔可用以下方法

  • (NSTimeInterval)timeIntervalSinceDate:(NSDate *)refDate;

以refDate为基准时间,返回保存的时间与refDate的时间间隔

  • (NSTimeInterval)timeIntervalSinceNow;
    以当前时间(Now)为基准时间,返回实例保存的时间与当前时间(Now)的时 间间隔
  • (NSTimeInterval)timeIntervalSince1970;
    以1970/01/01 GMT为基准时间,返回实例保存的时间与1970/01/01 GMT的时间间隔
  • (NSTimeInterval)timeIntervalSinceReferenceDate;
    以2001/01/01 GMT为基准时间,返回实例保存的时间与2001/01/01 GMT的时间间隔
  • (NSTimeInterval)timeIntervalSinceReferenceDate;
    以2001/01/01 GMT为基准时间,返回当前时间(Now)与2001/01/01 GMT的时间间隔

// 时区类
// 获得系统时区

NSTimeZone *tz = [NSTimeZone systemTimeZone];
// 获得当前时间距离GMT时间相差的秒数!
NSInteger seconds = [tz secondsFromGMTForDate:[NSDate date]];
// 以[NSDate date]时间为基准,间隔seconds秒后的时间!
NSDate *localDate = [NSDate dateWithTimeInterval:seconds sinceDate:[NSDate date]];
// 北 京时间

// 日期和字符串相互转换
// 日期格式的类!
NSDateFormatter *df = [[NSDateFormatter alloc] init];
// 2013-11-27 11:00:57
// HH 24小时进制 hh 12小时进制
df.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSString *dateStr = [df stringFromDate:[NSDate date]];

NSTimeZone *tz = [NSTimeZone systemTimeZone];
// 获得dateTest距离GMT时间相差的秒数!
NSInteger seconds = [tz secondsFromGMTForDate:dateTest];
NSDate *localDate = [NSDatedateWithTimeInterval:seconds sinceDate: dateTest];

你可能感兴趣的:(iOS-NSDate)