13 Stimmen

Ausgewählte Zeit von UIDatePicker abrufen

Ich habe eine UIDatePicker aus meiner Sicht.

Ich habe festgelegt DatePicker im Zeitmodus.

Der Benutzer kann also nur die Zeit auswählen.

Die vom Benutzer ausgewählte Zeit sollte in einem Textfeld angezeigt werden

Ich weiß nicht, wie man den Zeitwert anzeigt - dieser wird vom Benutzer über DatePicker - Zeitmodus.

Bitte helfen Sie mir

38voto

pix0r Punkte 30911

Sie müssen Folgendes verwenden NSDateFormatter zum Formatieren der NSDate die von Ihrem UIDatePicker . Hier sind einige ungetestet Beispielcode, vorausgesetzt, Sie haben ein UILabel als Eigenschaft "myLabel" und einen UIDatePicker als Eigenschaft "myDatePicker":

NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
[outputFormatter setDateFormat:@"h:mm a"];

self.myLabel.text = [outputFormatter stringFromDate:self.myDatePicker.date];

[outputFormatter release];

Überprüfen Sie die Datumsformatmuster auf der Seite Unicode Locale Data Markup Language Seite. Die Zeichenfolge "h:mm a" wird Ihnen etwas wie "12:08 PM" abhängig von Ihrem Standort.

2voto

Gurjinder Singh Punkte 7152

Swift 4.0

   // Action where you want to show time picker
          {     
            let datePicker = UIDatePicker()     
             datePicker.datePickerMode = .time

             let dateFormatter = DateFormatter()
             dateFormatter.locale = Locale(identifier: "en_US_POSIX")
             dateFormatter.timeZone = TimeZone.autoupdatingCurrent
             dateFormatter.timeStyle = DateFormatter.Style.short
        }
        // On Action of Datepicker value change or Done Outlet

           {
              let date = self.datePicker.date
              let strTime = safeDate.dateStringWith(strFormat: "hh:mm a")
              print(strTime)
          }
  // Extension of Date
        extension Date {
         func dateStringWith(strFormat: String) -> String {
                let dateFormatter = DateFormatter()
                dateFormatter.timeZone = Calendar.current.timeZone
                dateFormatter.locale = Calendar.current.locale
                dateFormatter.dateFormat = strFormat
                return dateFormatter.string(from: self)
            }
        }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X