UIDatePicker是一個很常會使用到的物件,若是需要設定日期時間,或是取得使用者滾動後的日期時間,都可以藉由date的屬性取得或設定。
NSDate *selectDate = datepicker.date;
但我們取得的格式是NSDate,若是要顯示在UILabel之類的物件上,就必須要轉換為NSString,也可以在轉換的過程中,改為自己需要的格式。
若是你與我相同,為了讓使用者可以選年,使用了兩個UIDatePicker,一個顯示年月日,一個顯示時間,那麼可以利用以下方式取得日期與時間的NSString。
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy/MM/dd"];
NSString *strDate = [dateFormat stringFromDate:datepicker.date];
[dateFormat setDateFormat:@"HH:mm:ss"];
NSString *strTime = [dateFormat stringFromDate:timepicker.date];
NSString *selectDateTime = [NSString stringWithFormat:@"%@ %@",strDate,strTime];
NSLog(@"%@", selectDateTime);
[dateFormat release];
datepicker與timepicker為使用的UIDatePicker名稱,最後selectDateTime輸出結果為:1981/12/20 12:15:00。
某些時候我們會希望UIDatePicker可以有初始值,也可以藉由類似的方法來設定。
-(void)setDateTime:(NSString *)setDateTime
{
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyyy/MM/dd HH:mm:ss"];
NSDate *date = [dateFormat dateFromString:setDateTime];
[dateFormat release];
datepicker.date = date;
timepicker.date = date;
}
6 則留言:
請問您的確定與取消是如何製作??
可否給予小弟指示
謝謝
我的確定鈕跟取消鈕都會呼叫一個自訂的delegate,然後再在那邊讀取使用者選取的日期跟時間。
至於怎麼做自己的delegate,可以參考http://wangshifuola.blogspot.com/2012/02/iosdelegate.html
你好~請問一下要如何把兩個picker放在同一個subview呢?謝謝^^
直接拉兩個picker到nib檔就可以了 @.@
ola你回超快的拉~請教一下如果沒有xib or nib是直接靠程式產生subview這樣的話可以嗎?
用程式碼也可以,就是使用addsubview就可以了。
張貼留言