NSDate

来源:互联网 发布:wireshark过滤端口 编辑:程序博客网 时间:2024/06/05 06:24

NSDate*d = [NSDatedate];
NSLog(@"d = %@",d);
//设置时区
NSTimeZone*zone = [NSTimeZonesystemTimeZone];//设置时间间隔

NSIntegerinterval = [zonesecondsFromGMTForDate: d];//重新生成时间

NSDate*localeDate=[ddateByAddingTimeInterval:interval];NSLog(@"%@", localeDate);




NSDate ---->  dateString

//定义NSDate
NSDate*d1 = [NSDatedate];

//定义日期时间格式化的类
NSDateFormatter*formatter = [[NSDateFormatteralloc]init];formatter.dateFormat= @"yyyy-MM-dd HH:mm:ss";

//Date转换为dataStr
NSString*dateStr = [formatterstringFromDate:d1];

  • //  设置格式

  • //  fmt.dateFormat = @"今天HH:mm";

  • //  HH : 24小时制

  • //  hh : 12小时制

  • //  yyyy :

  • //  MM :

  • //  dd :

  • //  mm :分钟

  • //  ss :

  • //  Z :时区
    fmt.dateFormat= @"yyyyMMddhh:mm:ss Z";



  • dataString ----->Date

    //定义日期时间格式化的类
    NSDateFormatter*formatter = [[NSDateFormatteralloc]init];formatter.dateFormat= @"yyyy-MM-dd HH:mm:ss";

    //dataStr转换为Date
    NSDate*date = [formatterdateFromString:@"2015-02-01 02:30:19"];

    NSLog(@"%@",date);


//1)明天的此刻
NSTimeInterval secondsPerDay = 24*60*60;

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

//2)昨天的现在
NSTimeInterval secondsPerDay1 = 24*60*60;
NSDate *now = [NSDate date];
NSDate *yesterDay = [now addTimeInterval:-secondsPerDay1];NSLog(@"yesterDay = %@",yesterDay);



结合NSCalendar和NSDate能做更多的日期\时间处理获得NSCalendar对象

NSCalendar *calendar = [NSCalendar currentCalendar];获得年月日

- (NSDateComponents *)components:(NSCalendarUnit)unitFlags fromDate:(NSDate *)date;

//创建日期
NSDate*d = [NSDatedate];

//创建日期对象
NSCalendar*ca = [NSCalendarcurrentCalendar];

//获得时间组件

NSDateComponents*cms= [cacomponents:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitDay fromDate:d];

NSLog(@"%ld-%ld-%ld",cms.year,cms.month,cms.day);

比较两个日期的差距
- (NSDateComponents *)components:(NSCalendarUnit)unitFlags fromDate:(NSDate *)startingDate toDate:(NSDate *)resultDate options:(NSCalendarOptions)opts;

NSString *time1 =@"2014-04-08 20:50:40";NSString *time2 =@"2014-04-04 18:45:30";

NSDateFormatter *fmt = [[NSDateFormatter alloc] init];fmt.dateFormat =@"yyyy-MM-dd HH:mm:ss";

NSDate *date1 = [fmt dateFromString:time1];NSDate *date2 = [fmt dateFromString:time2];

// 1.创建一个日历对象

NSCalendar*calendar = [NSCalendarcurrentCalendar];

// 2.比较时间的差距
intunit = NSCalendarUnitYear| NSCalendarUnitMonth| NSCalendarUnitDay
| NSCalendarUnitHour| NSCalendarUnitMinute| NSCalendarUnitSecond;NSDateComponents*cmps = [calendarcomponents:unitfromDate:date2toDate:date1options:0];

NSLog(@"相差%ld%ld%ld%ld小时%ld分钟%ld", cmps.year, cmps.month,cmps.day, cmps.hour, cmps.minute, cmps.second);


0 0
原创粉丝点击