2017-01-16 42 views
0

我已經制作和順序應用程序我有采取outlet命名爲:selectedDate,我想檢索選定日期的變量。我應該在View中放置什麼。獲取從日期選取器串日期變量

@IBOutlet weak var selectedDate: UIDatePicker! 

func datePickerChanged(selectedDate:UIDatePicker) { 
    var dateFormatter = DateFormatter() 
    dateFormatter.dateStyle = DateFormatter.Style.FullStyle 
    dateFormatter.timeStyle = DateFormatter.Style.FulltStyle 
    var strDate = dateFormatter.string(from: selectedDate.date) 
} 
+0

地方當前日期。 selectedDate.date =日期() –

+0

datepicker.date給你的日期實例。在選擇器視圖委託方法中,您將獲得更改的日期。 –

+0

請仔細閱讀蘋果文檔https://developer.apple.com/reference/uikit/uidatepicker –

回答

3
class ViewController: UIViewController { 

@IBOutlet weak var datePicker: UIDatePicker! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    // Do any additional setup after loading the view, typically from a nib. 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 
@IBAction func datePickerChanged(sender: UIDatePicker) { 

    print("print \(sender.date)") 

    let dateFormatter = NSDateFormatter() 
    dateFormatter.dateFormat = "MMM dd, YYYY" 
    let somedateString = dateFormatter.stringFromDate(sender.date) 

    print(somedateString) // "somedateString" is your string date 
} 


} 

你必須創建一個IBAction爲的日期選擇器,並將其命名爲「datePickerChanged」,就像你創建對象的出口。將對象拖動到Viewcontroller時選擇連接類型「操作」。

+0

稍等..更新代碼.. !!! – Dory

+0

我已經更新了代碼。請檢查。 – Dory

+0

如果您滿意的回答,可以請你接受它..也許幫助別人。 – Dory

2

func datePickerChanged(_:UIDatePicker)是目標函數。

你有沒有正確設定的目標?

// Precise that our controller implement the delegate 
class MyViewController: UIViewController { 
    ... 
    @IBOutlet weak var selectedDate: UIDatePicker! 
    ... 
    override func viewDidLoad() { 
    super.viewDidLoad() 
    ... 
    selectedDate.addTarget(self, action: #selector(datePickerChanged(_:)), forControlEvents: .valueChanged) // We register the target function 
    } 

    ... 
    // We implement that function 
    func datePickerChanged(sender:UIDatePicker) { 
    let dateFormatter = DateFormatter() 
    dateFormatter.dateStyle = .full 
    dateFormatter.timeStyle = .full 
    let strDate = dateFormatter.string(from: sender.date) 
    print(strDate) 
    } 
} 
+0

使用未聲明的類型'UIDatePickerDelegate'錯誤 –

+0

類型dateformatter的值沒有成員'FullStyle'錯誤 –

+0

@Solangi您添加的問題有些是其他人或者您正在使用它嗎? –