iOS中的NSDate

获取当前的时间

NSDate *date = [NSDate date]; NSLog(@"%@",date); //Thu Sep 13 16:16:13 2017

在当前时间上再加5秒
NSDate *date1 = [date dateByAddingTimeInterval:5]; NSLog(@"%@",date1); //Thu Sep 13 16:16:23 2017

获取当前所处的时区
//获取系统的 NSTimeZone *systemZone = [NSTimeZone systemTimeZone]; //获取本地的 NSTimeZone *localZone = [NSTimeZone localTimeZone];

获取当前时区和指定时间的时间差
NSInteger seconds = [systemZone secondsFromGMTForDate:date]; NSLog(@"%lu",seconds); //8小时

时间格式化
【iOS中的NSDate】yyyy 年
MM 月
dd 日
HH 24小时 hh 12 小时
mm 分钟
ss 秒
Z 时区
  • NSDate---> NSString
NSDate *now = [NSDate date]; NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss z"; NSString *dateStr = [formatter stringFromDate:now]; NSLog(@"%@",dateStr); //2018-09-13 17:17:33 GMT+8

  • NSString---> NSDate
NSString *dateString = @"2018-09-13 17:17:33 GMT+8"; NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss Z"; NSDate *lastdDate = [formatter dateFromString:dateString];

    推荐阅读