iOS 日期操作

作者: 东岳哥哥 | 来源:发表于2017-08-14 15:17 被阅读84次

日期操作
时间:2017年8月14日 周一

时间戳

NSString *str = @"1983-04-17";
NSDateFormatter *df = [[NSDateFormatter alloc]init];
df.dateFormat = @"yyyy-MM-dd";
NSDate *date = [df dateFromString:str];
    
NSTimeInterval  dd = [date timeIntervalSinceNow];//时间戳一直是负数
NSTimeInterval ss = [date timeIntervalSince1970];//时间大于1970是正数,否则负数    
    
NSDate *dds = [NSDate dateWithTimeIntervalSinceNow:dd];
NSDate *sss = [NSDate dateWithTimeIntervalSince1970:ss];

dds跟sss是相同日期

1、比较日期大小
默认会比较到秒,要记得设置日期格式

- (void)action {
    NSString *str = @"1990-04-17";
    NSDateFormatter *df = [[NSDateFormatter alloc]init];
    df.dateFormat = @"yyyy-MM-dd";
    NSDate *date = [df dateFromString:str];
    NSComparisonResult result =[date compare:[NSDate date]];
}

NSComparisonResult:
NSOrderedAscending ,升序, [A compare:B];,就像AB顺序一样,B更大,所以就是上升了;
NSOrderedSame, 相同
NSOrderedDescending:降序,A大于B

2、计算年龄:

//计算年龄
- (double )calculateAge:(NSString *)str {
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.dateFormat = @"yyyy-MM-dd";
    NSDate *birthDay = [dateFormatter dateFromString:str];
    //获取时间戳,时间戳是负数
    NSTimeInterval time = [birthDay timeIntervalSinceNow];
    double year = floor(ABS(time)/(3600.0 * 24 * 365)); //3600秒 * 24小时*365天
    return year;
}

3、计算时间差
用这个函数

- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)anotherDate;
- (void )calculateMargin:(NSString *)str {
    str = @"2018-08-14";
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.dateFormat = @"yyyy-MM-dd";
    NSDate *birthDay = [dateFormatter dateFromString:str];

    //现在的时间
    NSDate * nowDate = [NSDate date];
    //计算两个中间差值(秒),nowDate大于birthDay,time为正数
    NSTimeInterval time = [nowDate timeIntervalSinceDate:birthDay];
}

相关文章

  • iOS 日期操作

    日期操作时间:2017年8月14日 周一 时间戳 1、比较日期大小默认会比较到秒,要记得设置日期格式 2、计算年龄...

  • IOS NSDate日期操作

    1//当前时间创建NSDate NSDate*myDate = [NSDatedate]; NSLog(@"myD...

  • IOS NSDate日期操作总结

    网站: http://blog.csdn.net/yangbo_hbzjk/article/details/762...

  • iOS 日期操作:NSDate、NSDateFormatter

    NSDate NSDate对象用来表示一个具体的时间点。NSDate是一个类簇,我们所使用的NSDate对象,都是...

  • 【Tips】iOS日期操作那些事

    前言 最近开发过程中,业务中一个预约的模块,用到了很多关于时间的操作,所以今天借此机会总结下开发中会常用到的日期以...

  • 日期操作

    编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒。如输入2018年12月31日23时59分59秒,则...

  • 日期操作

    用格式化操作获取一个日期的年、月、日、星期等信息 day=datetime.datetime.now().strf...

  • 日期操作

    获取方法 设置方法

  • same产品体验

    一、体验环境 体验版本:v2.39 设备系统:iPhone5s 操作系统:ios9.1 体验日期:2016/01/...

  • ios日期

    在开发中遇到几次ios的new Date(str)拿不到日期,主要跟str有关 经测试,在安卓跟pc下都能拿到,i...

网友评论

    本文标题:iOS 日期操作

    本文链接:https://www.haomeiwen.com/subject/voturxtx.html