1.时间转成时间戳
2.时间戳转成时间
NSDate* date = [NSDatedateWithTimeIntervalSince1970: message.receivedTime/1000.0];
NSString* dateString = [NSStringstringWithFormat:@"%@",date];
NSArray *a = [dateStringcomponentsSeparatedByString:@" "];
groupCell.time.text = [a[1]substringToIndex:[a[1]length] -3];
NSDate* date = [NSDatedateWithTimeIntervalSince1970: message.receivedTime/1000.0];
NSTimeZone *zone = [NSTimeZonesystemTimeZone];
NSInteger interval = [zonesecondsFromGMTForDate: date];
NSDate *localeDate = [date dateByAddingTimeInterval: interval];
NSString* dateString = [NSStringstringWithFormat:@"%@",localeDate];
NSArray *a = [dateStringcomponentsSeparatedByString:@" "];
groupCell.time.text = [a[1]substringToIndex:[a[1]length] -3];
3. 获取当前系统时间并设置格式以及计算两个日期的差值
NSDate *date = [NSDate date];//获得时间对象
NSDateFormatter *forMatter = [[NSDateFormatter alloc]init];
[forMatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *dateStr = [forMatter stringFromDate:date];
NSDate *currentDate = [NSDatedate];//获取当前时间,日期
NSDateFormatter *dateFormatter = [[NSDateFormatteralloc]init];
[dateFormatter setDateFormat:@"YYYY-MM-dd"];
NSString *dateString = [dateFormatterstringFromDate:currentDate];
NSLog(@"dateString:%@",dateString);
NSString
* dateString1 = @
"2016-03-23"
;
NSString
* dateString2 = @
"2016-03-25"
;
NSDate
* date1 = [dateFormatter dateFromString:dateString1];
NSDate
* date2 = [dateFormatter dateFromString:dateString2];
NSTimeInterval time = [date2timeIntervalSinceDate:date1];//date1是前一个时间(早),date2是后一个时间(晚)
NSLog(@"time = %d", (int)time/(3600*24));//结果就是两个时间点之间相差天数,如果要精确时间,修改NSDateFormatter的形式,并把两个时间对应调整就行
- - (NSString *)distanceTimeWithBeforeTime:(double)beTime
- {
- NSTimeInterval now = [[NSDatedate]timeIntervalSince1970];
- double distanceTime = now - beTime;
- NSString * distanceStr;
- NSDate * beDate = [NSDatedateWithTimeIntervalSince1970:beTime];
- NSDateFormatter * df = [[NSDateFormatteralloc]init];
- [df setDateFormat:@"HH:mm"];
- NSString * timeStr = [df stringFromDate:beDate];
- [df setDateFormat:@"dd"];
- NSString * nowDay = [df stringFromDate:[NSDate date]];
- NSString * lastDay = [df stringFromDate:beDate];
- if (distanceTime < 60) {//小于一分钟
- distanceStr = @"刚刚";
- }
- else if (distanceTime <60*60) {//时间小于一个小时
- distanceStr = [NSString stringWithFormat:@"%ld分钟前",(long)distanceTime/60];
- }
- else if(distanceTime <24*60*60 && [nowDayintegerValue] == [lastDay integerValue]){//时间小于一天
- distanceStr = [NSString stringWithFormat:@"今天 %@",timeStr];
- }
- else if(distanceTime<24*60*60*2 && [nowDayintegerValue] != [lastDay integerValue]){
- if ([nowDay integerValue] - [lastDay integerValue] ==1 || ([lastDay integerValue] - [nowDayintegerValue] > 10 && [nowDayintegerValue] == 1)) {
- distanceStr = [NSString stringWithFormat:@"昨天 %@",timeStr];
- }
- else{
- [df setDateFormat:@"MM-dd HH:mm"];
- distanceStr = [df stringFromDate:beDate];
- }
- }
- else if(distanceTime <24*60*60*365){
- [df setDateFormat:@"MM-dd HH:mm"];
- distanceStr = [df stringFromDate:beDate];
- }
- else{
- [df setDateFormat:@"yyyy-MM-dd HH:mm"];
- distanceStr = [df stringFromDate:beDate];
- }
- return distanceStr;
- }