NSDate
2018-03-20 本文已影响3人
云天涯丶
常用方法:
/*
NSDate用来表示公历的UTC时间
注:UTC在一般情况下等同GMT(格林威治时间)
dateWithTimeIntervalSinceNow:与现在时间作参照
dateWithTimeIntervalSince1970:与1970-01-01作参照
*/
NSDate *date1 = [NSDate date];
NSDate *date2 = [[NSDate alloc] init];
NSDate *date4 = [NSDate dateWithTimeIntervalSinceNow:10];
NSDate *date6 = [NSDate dateWithTimeIntervalSince1970:10];
// 以sinceDate作参照
NSDate *date7 = [NSDate dateWithTimeInterval:10 sinceDate:date1];
/*
以2001-1-1 00:00:00的偏移秒数来初始化
属性timeIntervalSinceReferenceDate:返回距2001-1-1 0:0:0时间间隔
*/
NSDate *date3 = [[NSDate alloc] initWithTimeIntervalSinceReferenceDate:10];
NSDate *date5 = [NSDate dateWithTimeIntervalSinceReferenceDate:10];
/*
属性timeIntervalSinceNow:距现在的时间间隔
属性timeIntervalSince:1970距1970.1.1的时间间隔
timeIntervalSinceDate:date1距date3的时间间隔
*/
NSTimeInterval timeInt1 = [date1 timeIntervalSinceDate:date3];
// dateByAddingTimeInterval:date1增加时间
NSDate *yesterDay = [date1 dateByAddingTimeInterval:-24*60*60];
/*
earlierDate:比较那个时间更早
laterDate:比较哪个时间更晚
排序 :
NSComparisonResult:枚举值 NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending
*/
NSDate *earlierDate = [date1 earlierDate:yesterDay];
NSDate *laterDate = [yesterDay laterDate:date1];
NSComparisonResult result = [date1 compare:yesterDay];
// 比较
BOOL cc1 = [date1 isEqualToDate:date2];
BOOL cc2 = [date1 isEqualToDate:date1];
/*
类属性:
distantFuture:未来
distantPast:过去
*/
关于类属性的一些介绍
类属性是Xcode 8引入的,具体如下:
1、Objective-C 现在支持类属性了,与OC 中的类属性对应的是Swift的类型属性。
2、它们是这样声明的:@property (class) NSString *someStringProperty;
3、类属性永远不会被自动合成
下面是一个例子
@interface TestObject : NSObject
@property (class,nonatomic,assign) NSInteger count;
@property (class,nonatomic,copy) NSObject *obj;
@end
@implementation TestObject
static NSObject *_obj = nil;
static NSInteger _count = 0;
+ (NSObject *)obj{
if (!_obj) {
_obj = [[NSObject alloc] init];
}
return _obj;
}
+ (void)setObj:(NSObject *)obj{
if (_obj != obj) {
_obj = [obj copy];
}
}
+ (NSInteger)count{
return _count;
}
+ (void)setCount:(NSInteger)count{
if (_count != count) {
_count = count;
}
}
@end
注释:
类属性说明 来自这:http://blog.csdn.net/u011619283/article/details/53579309