这是我第一次尝试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)
}
答案 0 :(得分:4)
设置这样的日期格式!!这将为您提供 2016年2月2日之类的日期。 同时从代码中删除 dateStyle 和 timeStyle 属性。
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd MMM yyyy"
dateFormatter.stringFromDate(NSDate())
这使我的输出为 2016年2月9日
答案 1 :(得分:0)
func datePickerValueChanged(sender:UIDatePicker) {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd MMM yyyy"
let dateString = dateFormatter.stringFromDate(sender.date)
departureDateTextField.text = dateString
}
答案 2 :(得分:0)
试试这个
let timestamp = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .MediumStyle, timeStyle: .NoStyle)
print(timestamp)
答案 3 :(得分: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)!
答案 4 :(得分: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
}
答案 5 :(得分:-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))
}