zoukankan      html  css  js  c++  java
  • 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方法设置的日期格式一致。

  • 相关阅读:
    char与byte的区别
    java 中的枚举类型
    * .mesh 体网格文件解析
    java 中的equals hashCode
    java 中的 hashCode()
    java 中的判断两个对象是否相等的比较严格的操作
    java 中的访问限制
    数学建模 投资模型
    java abstract
    java 中的多态 & 动态绑定
  • 原文地址:https://www.cnblogs.com/ybn-juan/p/12267448.html
Copyright © 2011-2022 走看看