主要說獲取當前時間徽鼎,以及比較兩個完整時間的大小
獲取當前時間
說明:
- NSString獲取的時間是當前時區(qū)的時間
- NSDate new 獲取到的時間剩彬,為格林威治時間酷麦,下列是打印出來的日志
2016-04-27 22:14:19.128 NLPayment_V2[15634:612505] NSString 當前時間 =2016-04-27 22:14:19
2016-04-27 22:14:19.128 NLPayment_V2[15634:612505] NSDate當前時間 =2016-04-27 14:14:19 +0000
- NSString類型的當前時間
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *dateTime = [formatter stringFromDate:[NSDate date]];
NSLog(@"當前時間 =%@",dateTime);
- NSDate的當前時間
NSLog(@"當前時間 =%@",[NSDate new]);
比較兩個完整的時間
- 調(diào)用的實例說明:實際交易中的退貨操作,要將
退貨時間
和當前時間
作對比喉恋,當前時間
必須在交易時間
后的至少一個工作日沃饶。 - 比較思想:獲取交易時間,然后把交易時間的
時轻黑,分糊肤,秒
替換成23:59:59
- 然后利用 [DateA timeIntervalSinceDate: DateB] < 0.0f 來作判斷
- [DateA timeIntervalSinceDate: DateB] < 0.0f 表示 DateA - DateB < 0
//判斷退貨時間是否為當天
- (BOOL)judgeRefundDateIsToday:(NSString *)transactionDateStr {
//2016-04-27 16:35:21
NSMutableString *lateDate = [NSMutableString new];
[lateDate appendString:[transactionDateStr substringToIndex:10]];
NSLog(@"%@", lateDate);
[lateDate appendString:@" 23:59:59"];
NSLog(@"%@", lateDate);
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"]; //指定當前時區(qū)
[dateFormatter setTimeZone:timeZone];
//將當前的時區(qū)時間String再轉(zhuǎn)成標準的NSDate,轉(zhuǎn)換后的時間是為格林威治時間氓鄙,這樣統(tǒng)一標準后才能用 timeIntervalSinceData比較
NSDate *date = [dateFormatter dateFromString:lateDate];
NSLog(@"%@", date);
NSLog(@"當前日期= %@",[NSDate new]);
if ([[NSDate new] timeIntervalSinceDate:date] < 0.0f) {
XLog(@"當天內(nèi)退貨");
return YES;
} else {
XLog(@"當日后退貨");
return NO;
}
}