iOS如何判断一个日期是否是今天,昨天,前天?

在开发中我们经常需要判断一个时期是今天还是昨天,或者是之前的日子。代码如下:

//计算  距离现在的时间

-(NSString *)getUTCFormateDate:(NSDate *)newsDate

{



    NSString *dateContent;

    NSTimeInterval secondsPerDay = 24 * 60 * 60;

    NSDate *today=[[NSDate alloc] init];

    NSDate *yearsterDay =  [[NSDate alloc] initWithTimeIntervalSinceNow:-secondsPerDay];

    NSDate *qianToday =  [[NSDate alloc] initWithTimeIntervalSinceNow:-2*secondsPerDay];

    //假设这是你要比较的dateNSDate *yourDate = ……

    //日历

    NSCalendar* calendar = [NSCalendar currentCalendar];

    unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnitNSDayCalendarUnit;

    NSDateComponents* comp1 = [calendar components:unitFlags fromDate:newsDate];

    NSDateComponents* comp2 = [calendar components:unitFlags fromDate:yearsterDay];

    NSDateComponents* comp3 = [calendar components:unitFlags fromDate:qianToday];

    NSDateComponents* comp4 = [calendar components:unitFlags fromDate:today];

    if ( comp1.year == comp2.year && comp1.month == comp2.month && comp1.day == comp2.day) {

        dateContent = @"昨天";

    }

    else if (comp1.year == comp3.year && comp1.month == comp3.month && comp1.day == comp3.day)

    {

        dateContent = @"前天";

    }

    else if (comp1.year == comp4.year && comp1.month == comp4.month && comp1.day == comp4.day)

    {

        dateContent = @"今天";

    }

    else

    {

//返回0说明该日期不是今天、昨天、前天

        dateContent = @"0";

    }

    return dateContent;

}


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值