OC -- NSDate

时间日期类:NSDate

时间的格式符:
注意大小写
年 year ->y
月 month ->M
日 day ->d
时 hour ->H
分 minute ->m
秒 second ->s
时区 ->Z
星期 ->E
2016-01-19 15:00:14 +8000

//1.创建格式化日期类
NSDateFormatter *df = [[NSDateFormatter alloc]init];

//2.设置时间格式
// [df setDateFormat:@"yyyy年 M月 d日 HH:mm:ss E"];
[df setDateFormat:@"yyyy年 M月 d日 HH:mm:ss E"];

//3.格式化日期: 日期 ===> 字符串
NSString *formateS = [df stringFromDate:date1];
NSLog(@"%@",formateS);

//4.格式化日期:字符串 ==> 日期
N�String *dateString = @"2015年6.1 14:00:00";
NSDateFormatter *dateFormmater = [[NSDateFormatter alloc]init];
[dateFormmater setDteFormat:@"yyyy年M.d HH:mm:ss;"];
NSDate *dateL = [dateFormmater dateFromstring:dateString];
NSLog(@"%@"dateL);

//1.创建
//当前日期
NSDate *date1 = [[NSDate alloc]init];
NSDate *date2 = [NSDate date];
NSLog(@"%@",date1);

//2.时间戳 单位:秒 s
/*
    NSTimeInterval 实际上就是double类型 用来表示秒数
*/

//从1970年1月1日0时0分0秒 到date1 经过的秒数
NSTimInterval seconds1 = [date1 timeIntervalSince1970];
NSLog(@"%f",seconds1);

//从现在到开始 到 date1 经过的秒数
NSTimeInterval seconds2 = [date1 timIntervalSinceNow];
NSLog(@"%f",seconds2);

//从date1开始到  date2 经过的秒数
NSTimeIterval seconds3 = [date2 timeIntervalSinceDate:date1];


//3.创建指定日期

//构架日期:指定日期“一小时”后的日期
NSDate *date3 = [[NSDate alloc]initWithTimeInterval:60*60 sinceDate:[NSDate date]];

//构建日期:自1970.1.1 00:00:00 "24小时"后的日期
NSDate *date4 = [[NSDate alloc]initWithTimeIntervalSince1970:3600*24];

//构建日期:当前日期"一天前"前的日期
NSDate *date3 = [[NSDate alloc]initWithTimeInterval:60*60 sinceDate:[NSDate date]];


//4.获取日期
NSDate *future = [NSDate distantFuture];
NSLog(@"%@",future);
NSDate *past = [NSDate distantPast];
NSLog(@"%@",past);

//5.比较日期

//获取较早的时间
NSDate *earlyDate = [date4 earlierDate:date5];
NSLog(@"early %@",earlyDate);

//获取较晚的日期
NSDate *lateDate = [date4 laterDate:date5];
NSLog(@"later %@",lateDate);

/*____________________________格式化日期 NSDateFormatter_______________________________________*/

//1.创建格式化日期类
NSDateFormatter *df = [[NSDateFormatter alloc]init];

//2.设置时间格式
[df setDateFormat:@"yyyy年 M月 d日 HH:mm:ss E"];
[df setDateFormat:@"yy年 MM月 dd日 HH:mm:ss E"];

//3.格式化日期: 日期 ==> 字符串
NSString *formateS = [df stringFromDate:date1];
NSLog(@"%@",formateS);

4.格式化日期: 字符串 ==> 日期
NSString *dateString = @"2015年6.1 14:00:00";
NSDateFormatter *dateFormmater = [[NSDateFormatter alloc]init];
[dateFormmater setDateFormat:@"yyyy年M.d HH:mm:ss"];
NSDate *dateL = [dateFormmater datefromString]
NSLog(@"%@",dateL);

假设:入学日期为1月4日 学习时间为4个半月 推算出毕业时间

//入学日期 字符串
NSString *start = @"2016.01.04";

//格式类
NSDateFormatter *ddff = [[NSDateFormatter alloc]init];

//设置格式
ddff.dateFormat = @"yyyy.MM.dd";

//string -> date
NSDate *begin = [ddff dateFromString:start];

//加时间 ==> 毕业日期
NSDate *end = [NSDate dateWithTimeInterval:(4.5*30*24*60*60) sinceDate:begin];

ddff.dateFormat = @"yyyy-MM-dd";

//date -> string
NSString *endS = [ddff stringFromDate:end];

NSLog(%@,endS);


你可能感兴趣的:(OC -- NSDate)