DatePicker - 如何以三个字符而不是数字显示日期月份名称

问题描述 投票:1回答:6

这是我第一次尝试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
6个回答
4
投票

设置这样的日期格式!!这将为您提供日期为2016年2月2日的日期。同时从您的代码中删除dateStyle和timeStyle属性。

let dateFormatter = NSDateFormatter()

dateFormatter.dateFormat = "dd MMM yyyy"

dateFormatter.stringFromDate(NSDate())

这使我的输出为2016年2月9日


0
投票
func datePickerValueChanged(sender:UIDatePicker) {

        let dateFormatter = NSDateFormatter()
        dateFormatter.dateFormat = "dd MMM yyyy"
        let dateString = dateFormatter.stringFromDate(sender.date)
        departureDateTextField.text = dateString

    }

0
投票

试试吧

    let timestamp = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .MediumStyle, timeStyle: .NoStyle)
    print(timestamp)

0
投票

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)!

0
投票
 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

}

-1
投票
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))
 }
© www.soinside.com 2019 - 2024. All rights reserved.