iOS 獲取當前時間(戳)及差值
阿新 • • 發佈:2018-12-30
一、獲取時間
1.獲取當前時間
+ (NSString *)getCurrentTime {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; // ----------設定你想要的格式,hh與HH的區別:分別表示12小時制,24小時制
//設定時區,這個對於時間的處理有時很重要
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
NSDate *datenow = [NSDate date];//現在時間
NSString *currentDate = [formatter stringFromDate:datenow];
return currentDate;
}
2.獲取兩個時間的間隔
/**持續時間*/
+ (long long)getDurationStartTime:(NSString *)startTime endTime:(NSString *)endTime {
if (startTime && endTime) {
NSDateFormatter *strDateStr = [[NSDateFormatter alloc]init];
[strDateStr setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
NSDate *startdate = [strDateStr dateFromString:startTime];
NSDate *enddate = [strDateStr dateFromString:endTime];
//時間轉時間戳的方法:
NSTimeInterval aTime = [enddate timeIntervalSinceDate:startdate];
return (long long)aTime;
} else {
return -1;
}
}
二、時間戳
1.獲取當前時間戳
+ (NSString *)getCurrentTimeStamp {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; // ----------設定你想要的格式,hh與HH的區別:分別表示12小時制,24小時制
//設定時區,這個對於時間的處理有時很重要
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
[formatter setTimeZone:timeZone];
NSDate *datenow = [NSDate date];//現在時間
//時間轉時間戳的方法:
NSInteger timeSp = [[NSNumber numberWithDouble:[datenow timeIntervalSince1970]] integerValue];
NSString *ts = [NSString stringWithFormat:@"%ld",(long)timeSp];//時間戳的值
return ts;
}
2、時間戳取差值
/**持續時間*/
+ (long long)getDurationStartTime:(NSString *)startTime endTime:(NSString *)endTime {
if (startTime && endTime) {
long long aTime = [endTime longLongValue] - [startTime longLongValue];
return aTime;
} else {
return -1;
}
}