年月日選取器
#import <UIKit/UIKit.h>
@interface RootViewController : UIViewController
@property (nonatomic,retain)UILabel *secLabel;
@property (nonatomic, retain)UILabel *showLabel;
@property (nonatomic, retain)UIDatePicker * myDatePicker;
@end
#import "RootViewController.h"
@interface RootViewController ()
@end
@implementation RootViewController
-(void)dealloc
{
[_showLabel release];
[_myDatePicker release];
[super dealloc];
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
[self DateTime];
// [self viewTime];
}
- (void) DateTime
{
// UIDatePicker 日期/時間選取器(滾輪)
// 設置時間
float oneYearTime = 0;
// 給myDatePicker添加顏色
self.myDatePicker.backgroundColor = [UIColor whiteColor];
// 事件選擇器
self.myDatePicker = [[UIDatePicker alloc] init];
self.myDatePicker.center = self.view.center;
self.myDatePicker.datePickerMode = UIDatePickerModeDate;
// // 添加事件, 監聽值的改變
[self.myDatePicker addTarget:self action:@selector(datePickerDateChanged:) forControlEvents:(UIControlEventValueChanged)];
// 獲取當前時間
NSDate *currentDate = self.myDatePicker.date;
// 當前顯示的時間
NSDate *oneYearFromToday = [currentDate dateByAddingTimeInterval:oneYearTime];
// 所能顯示的最大時間
NSDate *twoYearFromToday = [currentDate dateByAddingTimeInterval:50 * oneYearTime ];
// 最小可選時間
self.myDatePicker.minimumDate = oneYearFromToday;
// 最大可選時間
self.myDatePicker.maximumDate = twoYearFromToday;
/*
結論:
如果兩個日期範圍屬性中任何一個未被設置, 則默認行爲將會允許用戶選擇過去或未來的任意日期
*/
[self.view addSubview:self.myDatePicker];
// 錶盤滾動到你指定的日期 2
// [self.myDatePicker setDate:oneYearFromToday animated:YES];
// // 設置分鐘間隔 3
// self.myDatePicker.datePickerMode = UIDatePickerModeCountDownTimer;
// self.myDatePicker.minuteInterval = 15;
// UIDatePicker
// 設置日期選擇控件的地區, 選用 UIDatePickerModeDateAndTime 4
[self.myDatePicker setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"zh_Hans_CN"]]; // 中文
// [self.myDatePicker setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_SC"]]; // 英文
// timeZone 6
// 設置DatePicker的時區(默認設置)
[self.myDatePicker setTimeZone:[NSTimeZone defaultTimeZone]];
// datePickerMode, 顯示小時, 分鐘和AM/PM, 7
// [self.myDatePicker setDatePickerMode:UIDatePickerModeTime];
// 顯示年月日
// [self.myDatePicker setDatePickerMode:UIDatePickerModeDate];
// 顯示日期, 小時, 分鐘, 和AM/PM
// [self.myDatePicker setDatePickerMode:UIDatePickerModeDateAndTime];
}
- (void)datePickerDateChanged:(UIDatePicker *)dataPicker
{
[self clicked:dataPicker];
}
- (void)clicked:(id)sender {
// 獲取用戶通過UIDatePicker設置的日期和時間
NSDate *selected = [self.myDatePicker date];
// 創建一個日期格式器
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
// 爲日期格式器設置格式字符串
[dateFormatter setDateFormat:@"yyyy年MM月dd日 HH:mm"];
NSString *destDateString = [dateFormatter stringFromDate:selected];
NSString *message = [NSString stringWithFormat:@"你選擇的日期是:%@", destDateString ];
// 創建一個UIAlertView對象(警告框), 並通過該警告框顯示用戶選擇的日期, 時間
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"日期和時間" message:message delegate:nil cancelButtonTitle:@"確定" otherButtonTitles:nil, nil];
[alert show];
}
// 將timer, t定義爲全局變量
NSTimer *timer;
static int t = 0;
- (void)viewTime
{
self.secLabel = [[UILabel alloc]initWithFrame:CGRectMake(140, 500, 100, 40)];
[self.view addSubview:self.secLabel];
// 設置Label的字體大小
self.secLabel.font = [UIFont systemFontOfSize:30];
self.secLabel.textColor = [UIColor redColor];
self.myDatePicker.backgroundColor = [UIColor whiteColor];
// 事件選擇器
self.myDatePicker = [[UIDatePicker alloc] init];
// 將myDatePicker試圖放到屏幕的中間
self.myDatePicker.center = self.view.center;
// 選擇myDatePicker的樣式
[self.myDatePicker setDatePickerMode: UIDatePickerModeCountDownTimer];
// 將myDatePicker添加到當前視圖上
[self.view addSubview:self.myDatePicker];
// 計時器, 每1秒調用tickDown方法一次, 該方法是類方法
timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(tickDown) userInfo:nil repeats:YES];
[timer fire];
}
- (void)tickDown
{
t += 30;
self.secLabel.text = [NSString stringWithFormat:@"%d 秒", t % 60];
[self.myDatePicker setCountDownDuration:t];
}