iOSNSDate的相关操作

时间:2021-12-24 21:03:33

//获取当前时间 时间根据格林威治时间显示

//时间 8小时 英国格林威治   7小时

NSDate *date = [NSDate date];

NSLog(@"%@",date);

//NSZone 计算时区

//根据当前时间 获得一个时间 参数是秒

NSDate *someDate = [NSDate dateWithTimeIntervalSinceNow:3600];

NSLog(@"%@",someDate);

//获得很远时间

NSDate *futureDate = [NSDate distantFuture];

NSLog(@"%@",futureDate);

//获得过去的很久的时间

NSDate *pastDate= [NSDate distantPast];

NSLog(@"%@",pastDate);

//将来的200s

NSDate *date1 = [NSDate dateWithTimeIntervalSinceNow:200];

//比较date 和date1

//返回更早的时间

NSDate *dateEarly =[date earlierDate:date1];

NSLog(@"date早的%@",dateEarly);

//返回更晚的时间

NSDate *dateLater = [date laterDate:date1];

//时间格式转换类 NSDateFormatter

//创建时间转换对象

NSDateFormatter * dateFormatter = [[NSDateFormatter alloc]init];

//设置转换的时间的格式

//使用系统提供给我们的时间转换格式

//  dateFormatter.dateStyle =kCFDateFormatterFullStyle;

//根据提供的时间 返回出来 时间对应字符串

// NSString *string = [dateFormatter stringFromDate:date];

// NSLog(@"。。。 %@",string);

//自定制的格式

// year month day   hour minute second

dateFormatter.dateFormat = @"yyyy:MM:dd HH:mm:ss";

NSString *stringN = [dateFormatter stringFromDate:date];

NSLog(@"%@",stringN);

//根据输入的字符串返回时间

NSString *str = @"2014-05-12 12:30:00";

//根据输入时间的格式 自定制出来 格式转换格式

NSDateFormatter *format = [[NSDateFormatter alloc]init];

format.dateFormat = @"YYYY-MM-dd HH:mm:ss";

//根据字符串 输出时间NSDate

NSDate *someD = [format dateFromString:str];

NSLog(@"%@",someD);

//NSZone NSCalendarComponent

//NSValue封装 结构体 c语言数组

int a[4] ={1,2,3,4};

//创建一个NSValue

NSValue *value = [[NSValue alloc]initWithBytes:a objCType:@encode(int[4])];

int b[10];

//取出来

[value getValue:b];

NSLog(@"%d",b[2]);

//结构体

struct student{

int age;

};

//变量c  年龄 10

struct student c;

c.age=10;

//将结构体 封装到nsValue

NSValue *value1 = [NSValue value:&c withObjCType:@encode(struct student)];

//取学生出来

struct student d;

[value1 getValue:&d];

NSLog(@"%d",d.age);