Форматирование даты не работает в 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

Проблема была в том, что я не удалял приложение с моего телефона перед повторной установкой и тестированием. Код работал в симуляторе, но не на телефоне. Надеюсь, что это поможет