NSDate类用于保存时间值,同时提供了一些方法来处理一些基于秒级别时差(Time Interval)运算和日期之间的早晚比较等。
1. 创建或初始化可用以下方法
用于创建NSDate实例的类方法有
+ (id)date;
返回当前时间
+ (id)dateWithTimeIntervalSinceNow:(NSTimeInterval)secs;
返回以当前时间为基准,然后过了secs秒的时间
+ (id)dateWithTimeIntervalSinceReferenceDate:(NSTimeInterval)secs;
返回以2001/01/01 GMT为基准,然后过了secs秒的时间
+ (id)dateWithTimeIntervalSince1970:(NSTimeInterval)secs;
返回以1970/01/01 GMT为基准,然后过了secs秒的时间
+ (id)distantFuture;
返回很多年以后的未来的某一天。(比如你需要一个比现在(Now)晚(大)很长时间的时间值,则可以调用该方法。测试返回了4000/12/31 16:00:00)
+ (id)distantPast;
返回很多年以前的某一天。(比如你需要一个比现在(Now)早(小)大很长时间的时间值,则可以调用该方法。测试返回了公元前0001/12/31 17:00:00)
用于创建NSDate实例的实例方法有
- (id)addTimeInterval:(NSTimeInterval)secs;
返回以目前的实例中保存的时间为基准,然后过了secs秒的时间
用于初始化NSDate实例的实例方法有
- (id)init;
初始化为当前时间。类似date方法
初始化为以2001/01/01 GMT为基准,然后过了secs秒的时间。类似dateWithTimeIntervalSinceReferenceDate:方法
- (id)initWithTimeInterval:(NSTimeInterval)secs sinceDate:(NSDate *)refDate;
初始化为以refDate为基准,然后过了secs秒的时间
- (id)initWithTimeIntervalSinceNow:(NSTimeInterval)secs;
初始化为以当前时间为基准,然后过了secs秒的时间
2. 日期之间比较可用以下方法
- (BOOL)isEqualToDate:(NSDate *)otherDate;
与otherDate比较,相同返回YES
- (NSDate *)earlierDate:(NSDate *)anotherDate;
与anotherDate比较,返回较早的那个日期
- (NSDate *)laterDate:(NSDate *)anotherDate;
与anotherDate比较,返回较晚的那个日期
- (NSComparisonResult)compare:(NSDate *)other;
该方法用于排序时调用:
. 当实例保存的日期值与anotherDate相同时返回NSOrderedSame
. 当实例保存的日期值晚于anotherDate时返回NSOrderedDescending
. 当实例保存的日期值早于anotherDate时返回NSOrderedAscending
3. 取回时间间隔可用以下方法
- (NSTimeInterval)timeIntervalSinceDate:(NSDate *)refDate;
以refDate为基准时间,返回实例保存的时间与refDate的时间间隔
- (NSTimeInterval)timeIntervalSinceNow;
以当前时间(Now)为基准时间,返回实例保存的时间与当前时间(Now)的时间间隔
- (NSTimeInterval)timeIntervalSince1970;
以1970/01/01 GMT为基准时间,返回实例保存的时间与1970/01/01 GMT的时间间隔
- (NSTimeInterval)timeIntervalSinceReferenceDate;
以2001/01/01 GMT为基准时间,返回实例保存的时间与2001/01/01 GMT的时间间隔
+ (NSTimeInterval)timeIntervalSinceReferenceDate;
以2001/01/01 GMT为基准时间,返回当前时间(Now)与2001/01/01 GMT的时间间隔
4. 将时间表示成字符串
- (NSString *)description;
以YYYY-MM-DD HH:MM:SS ±HHMM的格式表示时间。(其中 "±HHMM" 表示与GMT的存在多少小时多少分钟的时区差异。比如,若时区设置在北京,则 "±HHMM" 显示为 "+0800")
同时奉上一个比较常用的获取自1970年以来的毫秒数的方法:
NSTimeInterval time = [[NSDate date] timeIntervalSince1970];
// NSTimeInterval返回的是double类型,输出会显示为10位整数加小数点加一些其他值
// 如果想转成int型,必须转成long long型才够大。
NSTimeInterval time = [[NSDate date] timeIntervalSince1970];
long long dTime = [[NSNumber numberWithDouble:time] longLongValue]; // 将double转为long long型
NSString *curTime = [NSString stringWithFormat:@"%llu",dTime]; // 输出long long型
分享到:
相关推荐
《Objective-C程序设计》(作者杨正洪、郑齐心、李建国)通过大量的实例系统地介绍了Objective-C语言的基本概念、语法规则、框架、类库及开发环境。读者在阅读本书后,可以掌握Objective-C语言的基本内容,并进行...
Swift-NSDate-Extensions 是 Swift NSDate 扩展,帮助开发。 标签:Swift
DateHelper - NSDate在Swift中的便利扩展
核心天气 Objective-C 的天气 API 包括对 NSDate 的季节性添加。 CWForecaster 当前使用 WeatherBug API。 要获取 API 密钥,请注册为用户 ( ),然后申请 API 密钥 ( )。 标题中的文档。
Software engineering,programming language,operating system,iOS,OS,iPhone,iPad objective c,cocoa touch,SDK,object oriented design,Apple,Macintosh,tools,language,runtime,Xcode,objective-...
//获取年月日如:19871127. - (NSString *)getFormatYearMonthDay; //返回月日 - (NSString *)getFormatMonthDay; //返回当前月一共有几周(可能为4,5,6) - (int )getWeekNumOfMonth; //该日期是该年的第几周 - (int )...
//获取当前的时间 +(NSString*)getCurrentTimes{ NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; // ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制 [formatter ...
NSDate总结,NSDateFormatter总结,NSCalender总结,倒计时(60秒倒计时,天数倒计时,cell上天数倒计时)
object-c基础语法NSDate, 适合初学者,主要学习NSDate的设置、获取当前时间、当前时间加减秒后的时间、日期比较、日期转换成NSString等
Category实例 /** * 判断某个时间是否为今天 */ -(BOOL)isToday; /** * 判断某个时间是否为昨天 */ -(BOOL)isYesterday;... * 计算某个时间与当前时间的时间差 */ -(NSDateComponents *)deltaWithNow;
MR-PersianDateConverter 基于波斯/格里高利历的轻量级且易于使用的objective-c 日期转换器。 它由三种易于使用的方法组成: (NSString *)convertDatewithFormat:(NSString *) dateInput : (NSString *) Format :将...
用于 Objective-C/Foundation 平台(例如 iOS 和 OSX)的的正在进行中的实现。 当前的设计目标是完整性和规范遵守。 任何反序列化为 Cocoa/EDN 对象的有效 edn 数据都应该序列化回相同的 edn UTF-8 数据(字符串...
NSDate时间
用于 NSDate 上基本比较和时间操作的 Swift 扩展 比较 这些扩展向 NSDate 添加了基本的比较运算符 <、>、<=、>=、==、!=。 所以而不是像这样的东西: firstDate.compare(secondDate) == ...
Jastor是一个Objective-C基类,它使用字典进行初始化(可能是从JSON响应中进行初始化),并将字典值分配给其所有(派生类)键入的@properties。 它支持嵌套类型,数组,NSString,NSNumber,NSDate等。 Jastor...
NULL 博文链接:https://o0o0o0o.iteye.com/blog/588887
该方法将返回NSDate或nil 。 共有六个解析器方法。 包含实际解析器的解析器是-[ISO8601DateFormatter dateComponentsFromString:timeZone:range:] 。 其他五个基于此。 未设置为NULL参数“ outTimeZone ”是指向...
NSDate-DaboExtensionNSDate分类支持Pod导入pod 'NSDate-DaboExtension', '~> 1.0.0'
从 JSON 生成 Objective-C 模型并从这些模型生成 JSON。 内置支持: NSString NSArray NSDictionary NSNumber NSDate NSURL 带有NSNull空值 所有原始数据类型( int 、 BOOL 、 float 、 CGFloat等) 真的很...