【问题标题】:DatePicker - How to display date Month name in three characters instead of numberDatePicker - 如何以三个字符而不是数字显示日期月份名称
【发布时间】:2016-02-09 09:32:46
【问题描述】:

这是我第一次尝试 Swift 或 iPhone 应用程序,所以不用说我现在还不确定如何做很多事情。

我想在我的文本字段中显示这样的日期

02 Feb 2016

但是现在显示是这样的

 2/7/16

这是我的代码

@IBAction func dateTextFieldBeginEditing(sender: UITextField) {


       // let datePickerView:UIDatePicker = UIDatePicker()

        datePickerView.datePickerMode = UIDatePickerMode.Date

        sender.inputView = datePickerView

        datePickerView.addTarget(self, action: Selector("datePickerValueChanged:"), forControlEvents: UIControlEvents.ValueChanged)

    }

    func datePickerValueChanged(sender:UIDatePicker) {


        let dateFormatter = NSDateFormatter()

        dateFormatter.dateStyle = NSDateFormatterStyle.MediumStyle


        dateFormatter.timeStyle = NSDateFormatterStyle.NoStyle

        departureDateTextField.text = dateFormatter.stringFromDate(sender.date)

    }

【问题讨论】:

    标签: ios swift datepicker uidatepicker


    【解决方案1】:

    这样设置日期格式!!这将为您提供类似 2016 年 2 月 2 日的日期。 还要从您的代码中删除 dateStyletimeStyle 属性。

    let dateFormatter = NSDateFormatter()
    
    dateFormatter.dateFormat = "dd MMM yyyy"
    
    dateFormatter.stringFromDate(NSDate())
    

    这给了我2016年2月9日

    的输出

    【讨论】:

    • 请检查您的代码,这工作得很好。请参考我编辑的答案。
    • @iOSEnthusiatic 好的,它可以工作,但日期选择器显示 AM/PM 以及我不想要的工作日。
    • 您已经将 datePickerView.datePickerMode = UIDatePickerMode.Date 设置为仅显示日期。
    • 是的,我错误地评论了那行..现在可以了..谢谢
    【解决方案2】:
    func datePickerValueChanged(sender:UIDatePicker) {
    
            let dateFormatter = NSDateFormatter()
            dateFormatter.dateFormat = "dd MMM yyyy"
            let dateString = dateFormatter.stringFromDate(sender.date)
            departureDateTextField.text = dateString
    
        }
    

    【讨论】:

      【解决方案3】:

      1) 添加 NSDate 的扩展

      extension NSDate {
          func dateStringWithFormat(format: String) -> String {
              let dateFormatter = NSDateFormatter()
              dateFormatter.dateFormat = format
              return dateFormatter.stringFromDate(self)
          }
      }
      

      2) 制作两个公共变量

      var datePicker:UIDatePicker?
      let formatter = NSDateFormatter()
      

      3) 添加到 UIDatePicker

      let dateString = NSDate().dateStringWithFormat("yyyy-MM-dd")
      print("Today's Date: "+dateString)
      datePicker?.date = formatter.dateFromString(dateString)!
      

      【讨论】:

        【解决方案4】:
         func datePicker(sender:UIDatePicker) {
        
            let dateFormatter = NSDateFormatter()
        
            dateFormatter.dateFormat = "dd MMM yyyy"
        
            //// dd MMM yyyy == 02 Feb 2016
        
            let dateData = dateFormatter.stringFromDate(sender.date)
        
            departureDateTextField.text = dateData
        
        }
        

        【讨论】:

          【解决方案5】:
          let timestamp = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .MediumStyle, timeStyle: .NoStyle)
          print(timestamp)
          

          【讨论】:

            【解决方案6】:
            override func viewDidLoad()
            {
                super.viewDidLoad()
            
                self.datePicker.backgroundColor = .white
                self.datePicker.datePickerMode = .date
                let loc = Locale.init(identifier: "pt-BR")
                var calendar = Calendar.current
                calendar.locale = loc
                self.datePicker.calendar = calendar
                self.datePicker.locale = loc
            
                self.datePicker.addTarget(self, action: #selector(ViewController.handleDatePicker), for: UIControl.Event.valueChanged)
            }
            
            @objc func handleDatePicker()
            {
                let dateFormatter = DateFormatter()
                dateFormatter.dateFormat = "dd-MMM-yyyy"
                let loc = Locale.init(identifier: "pt-BR")
                dateFormatter.locale = loc
                print(dateFormatter.string(from: self.datePicker.date))
             }
            

            【讨论】:

            猜你喜欢
            • 2017-04-09
            • 1970-01-01
            • 2020-04-03
            • 1970-01-01
            • 1970-01-01
            • 2022-07-25
            • 2018-05-15
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多