• NSDate和NSDateFormatter


    定义一个当前日期的NSDate对象

    NSDate *currentDate = [NSDate date];
    

    NSDate常用方法

    • 以已有NSDate对象实例为基准,定义一个表示一小时后的NSDate对象:
    [NSDate dateWithTimeInterval:3600 sinceDate:currentDate] -> NSDate
    

    以下统一写成消息语句的形式,单位默认为秒,负号则表示早于目标日期。

    • 以当前时间为基准,定义一个表示一小时前的NSDate对象:
    [NSDate dateWithTimeIntervalSinceNow:-3600] -> NSDate
    
    • 获取目标日期到Unix元年的秒数:
    [targetDate timeIntervalSince1970] -> float
    

    这么直白的方法名还是第一次见

    • 获取目标日期到当前日期的秒数:
    [targetDate timeIntervalSinceNow] -> float
    
    • 判断两个日期是否相等:
    [date1 isEqualToDate:date2] -> BOOL
    

    NSDateFormatter的使用

    • 初始化:
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    
    • 设置日期显示风格
    [formatter setDateStyle:NSDateFormatterFullStyle];
    
    • 设置时间显示风格
    [formatter setTimeStyle:NSDateFormatterMediumStyle];
    
    • 设置显示语言为简体中文
    [formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh-CN"]];
    
    • 格式化日期和时间显示
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    
    • NSDate转NSString
    [formatter stringFromDate:currentDate] -> NSString
    

    也可以用含有日期格式的字符串生成NSDate对象:[formatter dateFromString:dateString] -> NSDate
    但日期字符串的格式必须与使用的NSDateFormatter对象通过setDateFormat方法设置的日期格式一致。

  • 相关阅读:
    vim 高级使用技巧第二篇
    你所不知道的Html5那些事(一)
    linux设备驱动第三篇:如何实现一个简单的字符设备驱动
    Android Metro风格的Launcher开发系列第二篇
    「BZOJ3123」[SDOI2013]森林
    【模板】左偏树
    「luogu3157」[CQOI2011]动态逆序对
    「luogu3567」[POI2014]KUR-Couriers
    【模板】二逼平衡树
    「luogu3313」[SDOI2014]旅行
  • 原文地址:https://www.cnblogs.com/ybn-juan/p/12267448.html
Copyright © 2020-2023  润新知