Object Foundation框架 第七课

来源:互联网 发布:java线程池实例 编辑:程序博客网 时间:2024/06/14 21:16

NSDate(时间类)和 NSDateFormatter(时间格式化); 

注意不是NSData(这个相当于java里面byte[]),比如获取网络数据时需要用的


1) 当前时间创建NSDate

NSDate *myDate = [NSDate date];NSLog(@"myDate = %@",myDate);

2)从现在开始的24小时

NSTimeInterval secondsPerDay = 24*60*60;NSDate *tomorrow = [NSDate dateWithTimeIntervalSinceNow:secondsPerDay];NSLog(@"myDate = %@",tomorrow);


3)根据已有日期创建日期
NSTimeInterval secondsPerDay1 = 24*60*60; NSDate *now = [NSDate date]; NSDate *yesterDay = [now addTimeInterval:-secondsPerDay1]; NSLog(@"yesterDay = %@",yesterDay);

4)NSDate和NSDateFormatter
        //将时间字符串转化为NSDateNSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm"];//dateFormatter通过setTimeZone来设置正确的时区 [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:8]]; NSDate *date=[dateFormatter dateFromString:dateString];//将NSDate转化为字符串NSString *dateString=[dateFormatter stringFromDate:date];

5)比较日期
        BOOL sameDate = [now isEqualToDate:yesterDay];        NSLog(@"sameDate = %lu",sameDate);        4.1//获取较早的日期        NSDate *earlierDate = [yesterDay earlierDate:now];        NSLog(@"earlierDate  = %@",earlierDate);        4.2//较晚的日期        NSDate *laterDate = [yesterDay laterDate:now];        NSLog(@"laterDate  = %@",laterDate);         //两个日期之间相隔多少秒        NSTimeInterval secondsBetweenDates= [yesterDay timeIntervalSinceDate:now];        NSLog(@"secondsBetweenDates=  %lf",secondsBetweenDates);        //通过NSCALENDAR类来创建日期        NSDateComponents *comp = [[NSDateComponentsalloc]init];        [comp setMonth:06];        [comp setDay:01];        [comp setYear:2001];        NSCalendar *myCal = [[NSCalendaralloc]initWithCalendarIdentifier:NSGregorianCalendar];        NSDate *myDate1 = [myCal dateFromComponents:comp];        NSLog(@"myDate1 = %@",myDate1);         //从已有日期获取日期        unsigned units  = NSMonthCalendarUnit|NSDayCalendarUnit|NSYearCalendarUnit;        NSDateComponents *comp1 = [myCal components:units fromDate:now];        NSInteger month = [comp1 month];        NSInteger year = [comp1 year];        NSInteger day = [comp1 day];        //NSDateFormatter实现日期的输出        NSDateFormatter *formatter = [[NSDateFormatteralloc]init];        [formatter setDateStyle:NSDateFormatterFullStyle];//直接输出的话是机器码        //或者是手动设置样式[formatter setDateFormat:@"yyyy-mm-dd"];        NSString *string = [formatter stringFromDate:now];

6)获取日期格式对象

<span style="font-size:12px;">- (NSDateFormatter *)dateFormatter {if (dateFormatter == nil) {dateFormatter = [[NSDateFormatter alloc] init];[dateFormatter setDateStyle:NSDateFormatterMediumStyle];[dateFormatter setTimeStyle:NSDateFormatterNoStyle];}return dateFormatter;}   </span><span style="font-size: 18px;"> </span>

   

0 0