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

Posted 努力学习--坚持积累

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
}

以上是关于1016-09-首页22-日期转换的主要内容,如果未能解决你的问题,请参考以下文章

SQL 怎么将日期时间格式转换成日期

sqlServer日期函数转换成短日期

将日期格式转换为ddmmyyyy

如何将 solr 日期转换为 javascript 日期?

在linux中将特定日期格式转换为Epoch

SQL 怎么将日期时间格式转换成日期