iOS NSComparisonResult:将当前时间与指定时间进行对比

1.首先获取当前时间的字符串

+ (NSString *)getCurrentTime{
    NSDateFormatter *formatter=[[NSDateFormatter alloc]init];
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
    [formatter setTimeZone:timeZone];
    NSString *dateTime=[formatter stringFromDate:[NSDate date]];

    return dateTime;
}

2.将指定的时间戳按相同的格式(例如:yyyy-MM-dd HH:mm:ss),转化为字符串
3.将当前时间oneDay与指定时间anotherDay进行对比
①如果result == NSOrderedDescending,说明当前时间大于指定时间
②如果result == NSOrderedAscending,说明当前时间小于指定时间
③如果以上两种都不是,说明当前时间与指定时间相同

+ (int)compareOneDay:(NSString *)oneDay withAnotherDay:(NSString *)anotherDay
{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *dateA = [dateFormatter dateFromString:oneDay];
    NSDate *dateB = [dateFormatter dateFromString:anotherDay];
    NSComparisonResult result = [dateA compare:dateB];
    if (result == NSOrderedDescending) {
        //NSLog(@"DateA  is in the future");
        return 1;
    }
    else if (result == NSOrderedAscending){
        //NSLog(@"DateA is in the past");
        return -1;
    }else{
    //NSLog(@"Both dates are the same");
    return 0;
}
    
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.badgeVaule气泡提示 2.git终端命令方法> pwd查看全部 >cd>ls >之后桌面找到文件夹内容...
    i得深刻方得S阅读 4,791评论 1 9
  • 在IOS中关于时间的问题比较常见,经常会用来获取当前时间,或者根据当前时间去获取某个时间点 本文是关于时间与日期的...
    这位网友阅读 10,108评论 0 9
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,272评论 0 4
  • /******* 设置两个时间差为固定值 *******/ NSCalendar *calendar = [[NS...
    飘金阅读 4,810评论 0 1
  • 温润中 将秋天的气息 收藏 你爱着的 终究 会爱着你 隐藏 将花变成了 果实 沉淀 终有一天变成 酒浆 沉醉 不 ...
    Keya的意识空间阅读 286评论 3 5