zoukankan      html  css  js  c++  java
  • 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;
    }

  • 相关阅读:
    产品 | What's产品经理
    产品 | 互联网+“加油”
    微信小程序 | 未来O2O电商的“阴谋”
    推荐书籍 | 产品必备书籍
    iOS | NSProxy
    iOS | 解决中文乱码
    HTML DOM addEventListener() 方法
    给每个对象加上新的属性
    vue.config.js基础配置
    SEO要点
  • 原文地址:https://www.cnblogs.com/nxz-diy/p/5294965.html
Copyright © 2011-2022 走看看