1、獲取當(dāng)前日期、時間
NSDate *currentDate = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY-MM-dd"];
NSString *currentDateStr = [dateFormatter stringFromDate:currentDate];
2、獲取一周前的日期、時間
NSDate * date = [NSDate date];
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
//一周的秒數(shù)
NSTimeInterval time = 7 * 24 * 60 * 60;
//下周就把"-"去掉
NSDate *lastWeek = [date dateByAddingTimeInterval:-time];
NSString *startDate = [dateFormatter stringFromDate:lastWeek];
3、比較兩個日期大小
//比較兩個日期大小
-(int)compareDate:(NSString*)startDate withDate:(NSString*)endDate{
int comparisonResult;
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd"];
NSDate *date1 = [[NSDate alloc] init];
NSDate *date2 = [[NSDate alloc] init];
date1 = [formatter dateFromString:startDate];
date2 = [formatter dateFromString:endDate];
NSComparisonResult result = [date1 compare:date2];
NSLog(@"result==%ld",(long)result);
switch (result)
{
//date02比date01大
case NSOrderedAscending:
comparisonResult = 1;
break;
//date02比date01小
case NSOrderedDescending:
comparisonResult = -1;
break;
//date02=date01
case NSOrderedSame:
comparisonResult = 0;
break;
default:
NSLog(@"erorr dates %@, %@", date1, date2);
break;
}
return comparisonResult;
}
int comparisonResult = [self compareDate:startDate withDate:endDate];
if(comparisonResult >0){
//endDate 大
}
4、比較日期差
//比較兩個日期大小
-(NSInteger)compare:(NSDate *)startTime to:(NSDate *)endTime{
// 當(dāng)前日歷
NSCalendar *calendar = [NSCalendar currentCalendar];
// 需要對比的時間數(shù)據(jù)
NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth
| NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
// 對比時間差
NSDateComponents *dateCom = [calendar components:unit fromDate:startTime toDate:endTime options:0];
NSString *time = [NSString stringWithFormat:@"%ld%ld%ld%ld%ld%ld",dateCom.year,dateCom.month,dateCom.day,dateCom.hour,dateCom.minute,dateCom.second];
NSLog(@"time---->%@",time);
return [time integerValue];
}
5、時間和時間戳的轉(zhuǎn)換
//獲取系統(tǒng)時間戳
NSDate* date1 = [NSDate date];
NSTimeInterval time1 =[date1 timeIntervalSince1970];
NSString *timeString = [NSString stringWithFormat:@"%.0f",time1];
NSLog(@"系統(tǒng)時間戳:%@",timeString);
//時間戳轉(zhuǎn)換成時間
NSTimeInterval time2 =[timeString doubleValue];
NSDate *date2 = [NSDate dateWithTimeIntervalSince1970:time2];
NSLog(@"date2 = %@",date2);
NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"yyyy/MM/dd"];
NSString *currentTime = [formatter stringFromDate:date2];
NSLog(@"當(dāng)前時間:%@",currentTime);
//時間轉(zhuǎn)時間戳
NSString *timeStr = [NSString stringWithFormat:@"%.0f",[date2 timeIntervalSince1970]];
NSLog(@"時間戳:%@",timeStr);