NSDate和NSDateFormatter
Posted ybn-juan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
方法设置的日期格式一致。
以上是关于NSDate和NSDateFormatter的主要内容,如果未能解决你的问题,请参考以下文章
关于NSDate和NSDateFormatter的几个常用方法
NSDateFormatter 和 NSDateComponents 的输出 NSDate 之间的区别
iOS NSDate,NSDateFormatter,NSTimeZone,NSTimeInterval
如何使用 nsdateformatter 将 nsdate 转换为另一种格式
Foundation框架下的常用类(NSNumber, NSValue, NSDate,NSDateFormatter)