您的位置:首页 > 其它

OC NSDate NSDateFormatter NSCalendar

2016-01-06 12:50 323 查看
#pragma mark - NSDate 日期时间类 NSDateFormatter NSCalendar 日期格式类
// 得到当前时间
NSDate *now = [NSDate date];
NSLog(@"%@",now);

// 了解
//        // 时区
//        NSTimeZone *zone = [NSTimeZone systemTimeZone];
//        NSLog(@"%@",zone);
//        // 计算时区和伦敦时区的时差
//        NSInteger interval = [zone secondsFromGMTForDate:now];
//        // 伦敦时间加上
//        NSDate *locale = [now dateByAddingTimeInterval:interval];
//        NSLog(@"%@",locale);

// NSDate <--> NSString
NSDateFormatter *f = [[NSDateFormatter alloc] init];

// 1.系统定义的格式 NSDateFormatter
//        [f setDateStyle:NSDateFormatterFullStyle];// 日期
//        [f setTimeStyle:NSDateFormatterNoStyle];// 时间

// 2.自定义格式
//y 年
//M 月
//d 日
//H m s 时分秒
[f setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

// NSDate -> NSString
NSString *dateStr = [f stringFromDate:now];
NSLog(@"%@",dateStr);

// NSString -> NSDate
NSDate *d2 = [f dateFromString:@"2020-10-1 12:12:13"];
NSLog(@"%@",d2);

NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:24*60*60];// 得到明天的这个时候的时间
NSLog(@"%@",tomorrow);
NSDate *yesterday = [NSDate dateWithTimeIntervalSinceNow:-24*60*60];// 得到昨天的这个时候的时间
NSLog(@"%@",yesterday);
NSDate *d3 = [NSDate dateWithTimeInterval:8*60*60 sinceDate:now];// 过8小时后的时间
NSLog(@"%@",d3);

// 时间比较
if([now isEqualToDate:tomorrow])
{
NSLog(@"两个时间一样");
}
if([now earlierDate:tomorrow])
{
NSLog(@"现在比明天早");
}
if([now laterDate:tomorrow])
{
NSLog(@"现在比明天晚");
}

// 计算时间的间隔
//        NSDate *date1 = [NSDate date];// 时间1
//        for(int i=0;i<100000000;i++)
//        {
//            float i= pow(M_PI, 5);
//        }
//        NSDate *date2 = [NSDate date];// 时间2
//        NSTimeInterval second = [date2 timeIntervalSinceDate:date1];
//        NSLog(@"这个循环总共运行了:%g秒",second);

// NSCalendar 日历类
NSCalendar *calendar = [NSCalendar currentCalendar];
NSCalendarUnit type = NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour|NSCalendarUnitMinute;
NSDateComponents *components = [calendar components:type fromDate:now];
NSLog(@"%i-%i-%i %i:%i",components.year,components.month,components.day,components.hour,components.minute);
#pragma mark -NSData
NSString *str = @"abc123";
NSString *d = @"中文啊";
NSLog(@"%@",d);

NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000);
NSData *strData1 = [str dataUsingEncoding:NSUTF8StringEncoding];//NSString转NSData
NSData *strData2 = [d dataUsingEncoding:NSUTF8StringEncoding];
NSData *strData3 = [d dataUsingEncoding:enc];//GB2312编码方式
Byte *byte = [strData1 bytes];
for (int i=0; i<strData1.length;i++) {
printf("%i",byte[i]);
}
printf("\n");

#pragma mark NSNull(值)
NSMutableArray *array = [[NSMutableArray alloc]init];
[array addObject:@15];
[array addObject:@16];
[array addObject:nil];//运行到这里会crash
[array addObject:[NSNull null]];//表示空值,只是值为空,占个位子
[array addObject:@18];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: