• 1016-09-首页22-日期转换


    两个NSDate之间是可以进行比较的。

    有了NSCalendar比较两个日期就易如反掌


    /**
     1.今年
     1> 今天
     * 1分内: 刚刚
     * 1分~59分内:xx分钟前
     * 大于60分钟:xx小时前
     
     2> 昨天
     * 昨天 xx:xx
     
     3> 其他
     * xx-xx xx:xx
     
     2.非今年
     1> xxxx-xx-xx xx:xx
     */
    - (NSString *)created_at
    {
        // _created_at == Thu Oct 16 17:06:25 +0800 2014
        // dateFormat == EEE MMM dd HH:mm:ss Z yyyy
        // NSString --> NSDate
        NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
        // 如果是真机调试,转换这种欧美时间,需要设置locale
        fmt.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
        
        // 设置日期格式(声明字符串里面每个数字和单词的含义)
        
        // E:星期几
        // M:月份
        // d:几号(这个月的第几天)
        // H:24小时制的小时
        // m:分钟
        // s:秒
        // y:年
        fmt.dateFormat = @"EEE MMM dd HH:mm:ss Z yyyy";
        
        // 微博的创建日期
        NSDate *createDate = [fmt dateFromString:_created_at];
        // 当前时间
        NSDate *now = [NSDate date];
        // 日历对象(方便比较两个日期之间的差距)
        NSCalendar *calendar = [NSCalendar currentCalendar];
        // NSCalendarUnit枚举代表想获得哪些差值
        NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
        // 计算两个日期之间的差值
        NSDateComponents *cmps = [calendar components:unit fromDate:createDate toDate:now options:0];
        
        HWLog(@"%@ %@ %@", createDate, now, cmps);
        
        return _created_at;
    }

  • 相关阅读:
    hadoop编程问题
    poj2760:数字三角形
    poj1201:Intervals
    差分约束
    poj1033:Defragment
    poj1089:Intervals
    poj2251:Dungeon Master
    天天向上的力量 III
    整数逆位运算
    星号三角形 I
  • 原文地址:https://www.cnblogs.com/nxz-diy/p/5294965.html
Copyright © 2020-2023  润新知