NSDate 日期的類
1.+date獲取的時間無論在哪個區,都是打印相對應的零時區的時間
NSDate *date = [NSDate date];
NSLog(@"%@", date);
2.獲取一下當前所在的時區
NSTimeZone *zone = [NSTimeZone systemTimeZone];
NSLog(@"%@", zone);
3.獲取一下和0時區相差的秒數
NSInteger seconds = [zone secondsFromGMTForDate:date];
NSLog(@"%ld", seconds);
4.通過相差的秒數,能獲取到現在的時間
NSDate *localDate = [NSDate dateWithTimeIntervalSinceNow:seconds];
5.
NSDate *times = [NSDate dateWithTimeIntervalSince1970:0];
NSLog(@"%@", times);
計算:
//一個明天這個時候的時間
NSDate *tomorrowDate = [NSDate dateWithTimeIntervalSinceNow:seconds + 3600*24];
NSLog(@"%@", tomorrowDate);
//一個昨天這個時候的時間
NSDate *yesterdayDate = [NSDate dateWithTimeIntervalSinceNow:seconds - 3600*24];
NSLog(@"%@", yesterdayDate);
NSTimeInterval interval = [tomorrowDate timeIntervalSinceDate:date];
NSLog(@"%g", interval);
NSDate *date2 = [NSDate dateWithTimeIntervalSinceNow:1000];
NSTimeInterval times = [date1 timeIntervalSinceDate:date2];
if (times < 60) {
NSLog(@"剛剛");
}else if (times >= 60 && times <=3600){
NSLog(@"%ld分鐘前", (NSInteger)times / 60);
}else if (times > 3600 && times < 3600*24){
NSLog(@"%ld小時前", (NSInteger)times / 3600);
}
NSDate *date = [NSDate date];
NSString *dateStr = [NSString stringWithFormat:@"%@", date];
NSLog(@"%@", dateStr);
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"yyyy-MM-dd HH-mm-ss"];
NSDate *date = [NSDate date];
//通過格式,把制定的時間直接轉換成NSString,通過這種方式,系統還會把時間切換成當前的時間
NSString *strDate = [formatter stringFromDate:date];
NSLog(@"%@", strDate);
(2)字符串 ->NSDate
時間又被減回去8小時
NSString *timeStr = @"2015-7-23 17-18-10";
NSDate *date = [formatter dateFromString:timeStr];
NSLog(@"%@", date);
NSSet 集合
NSSet 是無序的
NSSet不能有重複的元素
集合裏的元素必須是對象類型
// NSSet *set = [[NSSet alloc]initWithObjects:@"1", @"2", @"3", @"4", @"5", nil];
//定義不可變集合
NSSet *set = [NSSet setWithObjects:@"1", @"2", @"6", @"3", @"5",@"2" ,nil];//定義不可變集合
NSLog(@"%@", set); //隨機輸出不重複的對象
NSLog(@"%ld", set.count); //輸出不重複的個數
NSLog(@"%@", [set anyObject]);//返回其中的某一個元素
NSLog(@"%d", [set containsObject:@"3"]); //判斷對象裏有沒有3
NSMutableSet *set = [NSMutableSet setWithObjects:@"1", @"2", @"3",@"4", nil]; //定義可變集合
NSLog(@"%@", set);
[set addObject:@"5”]; //添加元素
NSLog(@"%@", set);
[set removeObject:@"3”]; //刪除元素
NSLog(@"%@", set);
for (NSString *temp in set) { //快速枚舉
NSLog(@"%@", temp);
}
************************************************************************************************************************************
1.字面量方式創建值對象
NSNumber *num
= @10;
2.把基本數據類型轉換成對象類型
NSInteger a = 10;
NSNumber *number = [[NSNumber alloc]initWithInteger:a];
NSLog(@"%@", number);
3.NSNumber 轉換成 Integer
NSInteger b = [number integerValue];
結構體和指針轉與對象類型的轉換
NSRange range = {2, 5}; //定義OC裏的結構體 兩個變量 (location ,length)
NSLog(@"%ld", range.length); //結果:5
NSLog(@"%ld",
range.location); //結果:1
注意:結構體的.是訪問成員變量,對象調用屬性是點語法
NSValue *value = [NSValue valueWithRange:range];
NSLog(@"%@", value);
NSRange rangeV =[value rangeValue];
int a = 10;
int *p = &a;
NSValue *pointer = [NSValue valueWithPointer:p];
int *p1 = [pointer pointerValue];