Reputation: 3015
This is my first ever attempt at Swift or an iPhone app, so needless to say I'm not sure how to do many things at this point.
I want to show the date like this in my textfield
02 Feb 2016
But right now it displays like this
2/7/16
here is my code
@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)
}
Upvotes: 1
Views: 4231
Reputation: 4917
let timestamp = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .MediumStyle, timeStyle: .NoStyle)
print(timestamp)
Upvotes: 0
Reputation: 197
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))
}
Upvotes: -1
Reputation: 109
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
}
Upvotes: 0
Reputation: 14296
1) Add an Extension of NSDate
extension NSDate {
func dateStringWithFormat(format: String) -> String {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = format
return dateFormatter.stringFromDate(self)
}
}
2) Make two public variables
var datePicker:UIDatePicker?
let formatter = NSDateFormatter()
3) Add to UIDatePicker
let dateString = NSDate().dateStringWithFormat("yyyy-MM-dd")
print("Today's Date: "+dateString)
datePicker?.date = formatter.dateFromString(dateString)!
Upvotes: 0
Reputation: 3385
Set date format like this!! This will give you date like 02 Feb 2016. Also remove dateStyle and timeStyle property from your code.
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd MMM yyyy"
dateFormatter.stringFromDate(NSDate())
This gives me output as 09 FEB 2016
Upvotes: 4
Reputation: 3084
func datePickerValueChanged(sender:UIDatePicker) {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd MMM yyyy"
let dateString = dateFormatter.stringFromDate(sender.date)
departureDateTextField.text = dateString
}
Upvotes: 0