iOS 日期相关总结

// ( NSString *) == Thu Oct 16 17:06:25 +0800 2014

    // dateFormat = EEE MMM dd HH:mm:ss Z yyyy

    

    NSDateFormatter *fmt = [[NSDateFormatteralloc] init];

    

    // 如果是真机调试,转换这种欧美时间,需要设置locale

//    fmt.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];

//    fmt.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];

    

    // E:星期几

    // M:月份

    // d:几号(这个月的第几天)

    // H:24小时制的小时

    // m:分钟

    // s:秒

    // Z:时区

    // y:年

    

    // 设置日期格式(声明字符串里面每个数字和单词的含义)

    fmt.dateFormat = @"EEE MMM dd HH:mm:ss Z yyyy";

    

    NSDate *createDate = [fmt dateFromString:(NSString *)]; // 把( NSString *) 转成时间对象

    

//    fmt.dateFormat = @"yyyy-MM-dd HH:mm:ss"; // 这种格式

//    (NSString *) = [fmt stringFromDate:createDate]; // 再把时间对象转换为这种格式的字符串

    

    // 当前时间

    NSDate *now = [NSDatedate];

    

    // 日历对象(方便比较两个日期之间的差距)

    NSCalendar *calendar = [NSCalendarcurrentCalendar];

    

    /*

     NSCalendarUnitEra                = kCFCalendarUnitEra,

     NSCalendarUnitYear               = kCFCalendarUnitYear,

     NSCalendarUnitMonth              = kCFCalendarUnitMonth,

     NSCalendarUnitDay                = kCFCalendarUnitDay,

     NSCalendarUnitHour               = kCFCalendarUnitHour,

     NSCalendarUnitMinute             = kCFCalendarUnitMinute,

     NSCalendarUnitSecond             = kCFCalendarUnitSecond,

     NSCalendarUnitWeekday            = kCFCalendarUnitWeekday,

     NSCalendarUnitWeekdayOrdinal     = kCFCalendarUnitWeekdayOrdinal,

     */

    

    // NSCalendarCalendarUnit 枚举代表想获得哪些差值

    NSCalendarUnit unit = kCFCalendarUnitYear | kCFCalendarUnitMonth | kCFCalendarUnitDay | kCFCalendarUnitHour | kCFCalendarUnitMinute | kCFCalendarUnitSecond;

    

    // 计算两个日期之间的时间差

    NSDateComponents *cmps = [calendar components:unit fromDate:createDate toDate:now options:0];

    

    NSLog(@"%@---%@---%@", createDate, now, cmps);

 

posted @ 2015-11-12 10:56  Z了个L  阅读(229)  评论(0编辑  收藏  举报