NSDate
NSDateFormatter配合NSDate与NSString之间的转化 NSDateFormatter有下面2个方法: - (NSString *)stringFromDate:(NSDate *)date;//NSDate转NSString - (NSDate *)dateFromString:(NSString *)string;//NSString转NSDate =========== NSDateFormatter 的一些格式介绍 [dateFormatter setDateFormat:@"yyyy年MM月dd日#EEEE"];//EEEE为星期几,EEE为周几 [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //年月日时分秒 // HH是24进制,hh是12进制 [dateFormatter setDateFormat:@"yyyy年MM月d日"];//MM 为xx月,一个d可以省去01日前的0 =========== //显示时间 NSDateFormatter *datefor = [[NSDateFormatter alloc]init]; [datefor setDateFormat:@"yy年 MM月 dd日"]; NSString *str = [datefor stringFromDate:[NSDate date]]; //显示时间的差值 NSString *time =@"15年 10月 10日"; NSString *str = @"15年 12月 12日"; NSDate *date1 = [datefor dateFromString:time]; NSDate *date2 = [datefor dateFromString:str]; NSTimeInterval dtTime = [date2 timeIntervalSinceDate:date1]; int dtDays = ((int)dtTime)/(3600*24); NSString *dtStr = [NSString stringWithFormat:@"第%d天",dtDays]; // === 存在8个小时的时间差 系统时间是 格林尼治时间,与北京时间相差8个小时 NSDate *date = [choiceDate dateFromString:str]; NSTimeZone *zone = [NSTimeZone systemTimeZone]; NSInteger interval = [zone secondsFromGMTForDate: date]; NSDate *localeDate = [date dateByAddingTimeInterval: interval]; self.calendarDate = localeDate; // === 或者: NSDateFormatter *dateForm = [[NSDateFormatter alloc]init]; dateForm.dateFormat = @"yyyy-MM-dd HH:mm:ss"; NSString *dateStr = [dateForm stringFromDate:[NSDate date]]; NSLog(@"test datestr is %@",dateStr); [dateForm setTimeZone:[NSTimeZone localTimeZone]]; NSDate *date = [dateForm dateFromString:dateStr]; //===关于时间的比较 // date方法返回的就是当前时间(now) NSDate *date = [NSDate date]; // now: 11:12:40 // date: 11:12:50 date = [NSDate dateWithTimeIntervalSinceNow:10];//返回当前时间10秒后的时间 // 从1970-1-1 00:00:00开始 date = [NSDate dateWithTimeIntervalSince1970:10];//返回1970-1-1 00:00:00时间10秒后的时间 // 随机返回一个比较遥远的未来时间 date = [NSDate distantFuture]; // 随机返回一个比较遥远的过去时间 date = [NSDate distantPast]; // 返回1970-1-1开始走过的毫秒数 NSTimeInterval interval = [date timeIntervalSince1970]; // 跟其他时间进行对比 NSDate *date2 = [NSDate date]; // 返回比较早的那个时间 [date earlierDate:date2]; // 返回比较晚的那个时间 [date laterDate:date2]; //根据已有日期创建日期 NSTimeInterval secondsPerDay1 = 24*60*60; NSDate *now = [NSDate date]; NSDate *yesterDay = [now addTimeInterval:-secondsPerDay1]; NSLog(@"yesterDay = %@",yesterDay); 以上都是很简单的使用,一些更加详细的与日历的组合使用参考 http://my.oschina.net/yongbin45/blog/156181 |
|