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;
    }

  • 相关阅读:
    Android开发进度07
    wifidog认证实现OpenWRT强制认证的WIFI热点
    wifidog配置分析
    wifidog源码
    Wifidog分析wifidog认证网关协议v1
    Wifidog认证稳定性测试方法及说明
    X86 DD-WRT WifiDog 配置详解
    wifidog无线认证RADIUS 配置指南
    wifidog配置DD-WRT中使用 RADIUS 对无线网络认证
    wifidog如何判断用户不在线?
  • 原文地址:https://www.cnblogs.com/nxz-diy/p/5294965.html
Copyright © 2011-2022 走看看