1.經過日期得星期
- (NSString*)getWeekDayWithYear:(NSString*)year month:(NSString*)month day:(NSString*)day
{
NSDateComponents *_comps = [[NSDateComponents alloc] init];
[_comps setDay:[day integerValue]];
[_comps setMonth:[month integerValue]];
[_comps setYear:[year integerValue]];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *_date = [gregorian dateFromComponents:_comps];
NSDateComponents *weekdayComponents =
[gregorian components:NSWeekdayCalendarUnit fromDate:_date];
long int _weekday = [weekdayComponents weekday];
NSLog(@"_weekday::%ld",_weekday);
NSString *weekDay = @"";
switch (_weekday) {
case 1: weekDay = @"週日"; break;
case 2: weekDay = @"週一"; break;
case 3: weekDay = @"週二"; break;
case 4: weekDay = @"週三"; break;
case 5: weekDay = @"週四"; break;
case 6: weekDay = @"週五"; break;
case 7: weekDay = @"週六"; break;
default:break;
}
return weekDay;
}
2.兩個時間差
- (NSString *)dateTimeDifferenceWithStartTime:(NSString *)startTime endTime:(NSString *)endTime{
NSDateFormatter *date = [[NSDateFormatter alloc]init];
[date setDateFormat:@"yyyyMMddHHmmss"];//startTime的格式
NSDate *startD =[date dateFromString:startTime];
NSDate *endD = [date dateFromString:endTime];
NSTimeInterval start = [startD timeIntervalSince1970]*1;
NSTimeInterval end = [endD timeIntervalSince1970]*1;
NSTimeInterval value = end - start;
int second = (int)value %60;
int minute = (int)value /60%60;
int house = (int)value / (24 * 3600)%3600 + (int)value / 3600;
NSString *str = [NSString stringWithFormat:@"%.2d:%.2d:%.2d",house,minute,second];
return str;
}
3.距離目前時間的
-(NSString *)getDateDisplayString:(long long) miliSeconds{
NSTimeInterval tempMilli = miliSeconds;
NSTimeInterval seconds = tempMilli/1000.0;
NSDate *myDate = [NSDate dateWithTimeIntervalSince1970:seconds];
NSCalendar *calendar = [ NSCalendar currentCalendar ];
int unit = NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear ;
NSDateComponents *nowCmps = [calendar components:unit fromDate:[ NSDate date ]];
NSDateComponents *myCmps = [calendar components:unit fromDate:myDate];
NSDateFormatter *dateFmt = [[ NSDateFormatter alloc ] init ];
if (nowCmps.year != myCmps.year) {
dateFmt.dateFormat = @"yyyy-MM-dd HH:mm";
} else {
if (nowCmps.day==myCmps.day) {
dateFmt.dateFormat = @"今天 HH:mm";
} else if((nowCmps.day-myCmps.day)==1) {
dateFmt.dateFormat = @"昨天 HH:mm";
} else {
dateFmt.dateFormat = @"MM-dd HH:mm";
}
}
return [dateFmt stringFromDate:myDate];
}