【问题标题】:Get selected time from UIDatePicker从 UIDatePicker 获取选定的时间
【发布时间】:2009-07-22 21:09:43
【问题描述】:

我的视图中有一个 UIDatePicker

我已将 DatePicker 设置为时间模式。

所以用户只能选择时间。

用户选择的任何时间都应该显示在文本框中..

我不知道如何显示时间值 - 由用户通过 DatePicker - 时间模式。

请帮帮我..

【问题讨论】:

    标签: iphone


    【解决方案1】:

    您需要使用NSDateFormatter 来格式化UIDatePicker 返回的NSDate。下面是一些未经测试的示例代码,假设您有一个 UILabel 作为属性“myLabel”,一个 UIDatePicker 作为属性“myDatePicker”:

    NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
    [outputFormatter setDateFormat:@"h:mm a"];
    
    self.myLabel.text = [outputFormatter stringFromDate:self.myDatePicker.date];
    
    [outputFormatter release];
    

    您需要检查Unicode Locale Data Markup Language 页面上的日期格式模式。字符串 "h:mm a" 会给你类似 "12:08 PM" 的东西,具体取决于你的语言环境。

    【讨论】:

      【解决方案2】:

      斯威夫特 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)
                  }
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多