NSDate

  • . NSDate是1个类.
    • 作用:用来表示日期.
  • . 得到当前系统的时间.

    创建1个NSDate对象,这个对象所表示的时间就是当前系统的格林威治时间.
    就是当前系统的零时区的时间. 东八区. 在北京时间的基础之上减去8个小时.

    NSDate *date = [NSDate date];
    NSLog(@"%@",date);
  • . NSDate对象输出的时间格式:

    • 2015-09-28 08:26:41 +0000
    • 年 月 日 时 分 秒 时区
  • 将日期转换为指定的格式.

    • NSDate *date = [NSDate date];
    • . 先创建1个日期格式化器. 作用:将日期转换为指定的格式.
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
  • .为日期格式化器指定要转换的格式.
    • //yyyy 代表年份.
    • //MM 月份
    • //dd 天
    • //hh: 12小时制
    • //HH: 24小时制
    • //mm: 分钟
    • //ss: 秒
formatter.dateFormat = @"yyyy年MM月dd号 HH点mm分ss秒";
  • .让日期格式化器按照格式转换日期.
    • 注意:转换的时候会转换为系统的时区的时间.
NSString *str = [formatter stringFromDate:date];


    NSLog(@"%@",str);
  • 将字符串转换为日期对象
 //将字符串转换为日期对象.
    /*
    NSString *str1 = @"2010-12-12 17:17:45";

    NSDateFormatter *formatter = [NSDateFormatter new];
    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
    NSDate *date1 =  [formatter dateFromString:str1];
    NSLog(@"%@",date1);
    */
  • . 取到NSDate对象的各个部分. 年 月 日…..

    • . 使用日期格式化器.

    • . 使用日历对象取到日期对象的各个部分.

      • . 先创建1个日历对象.
/* 利用日历对象 取出日期对象的各个部分
    NSDate *date = [NSDate date];

    //1. 创建1个当前的日历对象.
    // 作用: 可以取到1个日期对象的各个部分.
    NSCalendar *calendar = [NSCalendar currentCalendar];
    //2. 指定日历对象,要去取日期对象的那些部分.
    NSDateComponents *com =  [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitWeekday fromDate:date];

    //3. 通过NSDateComponents取到指定的日期的各个部分.
    NSLog(@"%lu",com.year);
    NSLog(@"%lu",com.month);
    NSLog(@"%lu",com.day);
    NSLog(@"%lu",com.weekday);

    */
  1. 日期的计算.

    • . 计算从现在的时间开始 往前或者往后指定N秒以后是神马时间.
        + (instancetype)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;
  • 正数就是往后计算
  • 负数就是往前计算.
  • . 计算两个时间之间的差.

    - (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate;
    

你可能感兴趣的:(NSDate)