NSDate

作者: 云天涯丶 | 来源:发表于2018-03-20 14:29 被阅读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

相关文章

网友评论

      本文标题:NSDate

      本文链接:https://www.haomeiwen.com/subject/mzxbqftx.html