Форматирование даты не работает в Swift 3
У меня проблема с NSDate в функции. По сути, форматирование не работает, и мне нужен еще один набор глаз, чтобы увидеть, что я делаю неправильно.
код:
@IBOutlet weak var dateField: NSTextField!
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMMM dd yyyy"
let currentDate = NSDate()
convertedDateString = dateFormatter.string(from:currentDate as Date)
dateField.stringValue = convertedDateString as String
print("convertedDate: ", convertedDateString)
print("dateField.stringValue: ", dateField.stringValue)
Результат:
convertDate: 25 июля 2016
dateField.stringValue: 7/25/16
Ответы
Ответ 1
Date().toString() // convert date to string with userdefined format.
extension Date {
func toString() -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMMM dd yyyy"
return dateFormatter.string(from: self)
}
}
Ответ 2
Расширение для получения строки в формате даты
extension Date {
func toString(format: String) -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
return dateFormatter.string(from: self)
}
}
Date().toString(format:"H:mm")
Ответ 3
Это то, что я пытаюсь играть на детской площадке, и это работает.
import Foundation
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "MMMM dd yyyy"
let currentDate = NSDate()
let convertedDateString = dateFormatter.stringFromDate(currentDate)
var dateField:NSTextField = NSTextField()
dateField.stringValue = convertedDateString as String
print(convertedDateString) //July 25 2016
print(dateField.stringValue) //July 25 2016
Единственное отличие в том, что я меняю на NSDateFormatter
, а вместо dateFormatter.string
у меня есть dateFormatter.stringFromDate
.
![введите описание изображения здесь]()
Вы случайно установили какое-то значение в раскадровке или xib, у вас есть NSTextField
?
Ответ 4
Проблема была в том, что я не удалял приложение с моего телефона перед повторной установкой и тестированием. Код работал в симуляторе, но не на телефоне. Надеюсь, что это поможет