獲取當(dāng)前時(shí)間:?
NSDate *localDate = [NSDate date];
獲取UIDatePicker的時(shí)間:
NSDate *pickerDate = [self.datePicker date];
NSDate格式轉(zhuǎn)換為NSString格式:
- (NSString*)getSelectedDateStr{
NSDate *pickerDate = [self.datePicker date]; ?// 獲取用戶通過UIDatePicker設(shè)置的日期和時(shí)間
NSDateFormatter*formatter = [[NSDateFormatteralloc]init]; ?// 創(chuàng)建一個(gè)日期格式器
[formattersetDateFormat:@"yyyy-MM-dd HH:mm:ss"];
return ?[formatterstringFromDate:self.datePicker.date];
}
NSString格式轉(zhuǎn)換為NSDate格式:
- (NSDate *)getDateAction{
NSString *birthdayStr=@"2010-08-04 16:01:03";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:8]];//解決8小時(shí)時(shí)間差問題
NSDate *date = [dateFormatter dateFromString:birthdayStr];
NSLog(@"*****%@",date);
return date;
}
為UIDatePicker設(shè)置最值:
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor orangeColor];
self.datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0, 80, self.view.frame.size.width, 216)];
self.datePicker.backgroundColor = [UIColor groupTableViewBackgroundColor];
[self.view addSubview:self.datePicker];
[self.datePicker addTarget:self action:@selector(dateChanged:) forControlEvents:UIControlEventValueChanged ];//重點(diǎn):UIControlEventValueChanged
//設(shè)置顯示格式
//默認(rèn)根據(jù)手機(jī)本地設(shè)置顯示為中文還是其他語言
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];//設(shè)置為中文顯示
self.datePicker.locale = locale;
//當(dāng)前時(shí)間創(chuàng)建NSDate
NSDate *localDate = [NSDate date];
//在當(dāng)前時(shí)間加上的時(shí)間:格里高利歷
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
//設(shè)置時(shí)間
[offsetComponents setYear:0];
[offsetComponents setMonth:0];
[offsetComponents setDay:5];// 當(dāng)前時(shí)間最多推后5天
[offsetComponents setHour:20];// 最多推后20小時(shí)
[offsetComponents setMinute:0];
[offsetComponents setSecond:0];
//設(shè)置最大值時(shí)間
NSDate *maxDate = [gregorian dateByAddingComponents:offsetComponents toDate:localDate options:0];
//設(shè)置屬性
self.datePicker.minimumDate = localDate;
self.datePicker.maximumDate = maxDate;
}
UIDatePicker響應(yīng)事件的實(shí)現(xiàn):
- (void)dateChanged:(id)sender{
UIDatePicker *control = (UIDatePicker*)sender;
NSDate* date = control.date;
//添加你自己響應(yīng)代碼
NSLog(@"dateChanged響應(yīng)事件:%@",date);
//NSDate格式轉(zhuǎn)換為NSString格式
NSString *dateString = [self getSelectedDateStr];
//打印顯示日期時(shí)間
NSLog(@"格式化顯示時(shí)間:%@",dateString);
}
日期比較:
/**
NSComparisonResult的取值
NSOrderedAscending // 升序, 越往右邊越大
NSOrderedSame,? // 相等
NSOrderedDescending // 降序, 越往右邊越小
*/
NSComparisonResult result = ?[aDate compare:bDate];
if (result == NSOrderedAscending) { // 升序, 越往右邊越大
NSLog(@"bDate > aDate");
} else if (result == NSOrderedDescending) { // 降序, 越往右邊越小
NSLog(@"aDate > bDate");
} else {
NSLog(@"aDate == bDate");
}