Object Foundation框架 第七课

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
        //将时间字符串转化为NSDate
	NSDateFormatter *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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值