NSDate、NSCalendar

来源:互联网 发布:laravel 获得sql语句 编辑:程序博客网 时间:2024/05/21 06:14

Date的创建

 //Date的创建(当前系统时间)    NSDate *currentTime = [NSDate date];    NSLog(@"%@",currentTime);

Date相关的方法

//在当前时间上追加10s    NSLog(@"%@",[currentTime dateByAddingTimeInterval:10]);    //获取当前系统时区    NSTimeZone *zone = [NSTimeZone systemTimeZone];    //获取当前时区和指定时间的时间差    NSInteger  second = [zone secondsFromGMTForDate:currentTime];    NSLog(@"second = %lu",second);

Date转NSString和NSString转Date

Date转NSString

    //xxx年xx月xx日  xx时xx分xx秒    NSDate *date = [NSDate date];    //创建一个时间格式化对象    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];    //格式化时间    /*     yyyy年     MM月     dd日      HH24小时  hh 12 小时     mm分     ss秒     Z时区     */    formatter.dateFormat = @"yyyy年MM月dd日 HH时mm分ss秒";    //利用时间格式化对象对时间进行格式化    NSString *str = [formatter stringFromDate:date];    NSLog(@"str = %@",str);

NSString转Date

    NSString *dateStr = @"2017-05-30 23-55-59";    NSDateFormatter *formatter1 = [[NSDateFormatter alloc]init];    //如果是从NSString格式化为NSDate,那么formatter1的格式必须和字符串的时间格式一样    formatter1.dateFormat = @"yyyy-MM-dd HH-mm-ss";    NSDate *date1 = [formatter1 dateFromString:dateStr];    NSLog(@"date = %@",date1);

NSCalendar

从日历获取时间值

    //创建日历(系统单例)    NSDate *date = [NSDate date];    NSCalendar *calendar = [NSCalendar currentCalendar];    //利用日历类从当前时间中获取年月日时分秒(单独取出)    NSCalendarUnit unit =    NSCalendarUnitYear  |                NSCalendarUnitMonth |    NSCalendarUnitDay   |    NSCalendarUnitHour  |    NSCalendarUnitMinute|    NSCalendarUnitSecond;    NSDateComponents *comp =  [calendar components:unit fromDate:date];    NSLog(@"year = %ld",(long)comp.year);    NSLog(@"month = %ld",comp.month);    NSLog(@"day = %ld",(long)comp.day);    NSLog(@"hour = %ld",(long)comp.hour);    NSLog(@"minute = %ld",(long)comp.minute);    NSLog(@"second = %ld",(long)comp.second);

比较俩个时间

    NSString *dateStr = @"2017-05-30 23-55-59";    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];    formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";    NSDate *date1 = [formatter dateFromString:dateStr];    NSLog(@"%@",date1);    NSDate *date2 = [NSDate date];    NSLog(@"%@",date2);    NSCalendar *calendar = [NSCalendar currentCalendar];    NSCalendarUnit unit1 =    NSCalendarUnitYear  |    NSCalendarUnitMonth |    NSCalendarUnitDay   |    NSCalendarUnitHour  |    NSCalendarUnitMinute|    NSCalendarUnitSecond;    NSDateComponents *cps = [calendar components:unit1 fromDate:date1  toDate:date2  options:0];    NSLog(@"%ld年%ld月%ld日%ld时%ld分%ld秒",cps.year,cps.month,cps.day,cps.hour,cps.minute,cps.second);
原创粉丝点击