日期格式在 Swift 3 中不起作用

Date formatting not working in 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)

结果:

convertedDate: July 25 2016
dateField.stringValue: 7/25/16

这是我在操场上尝试过的方法,它很有效。

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.

您是否不小心在您拥有 NSTextField 的故事板或 xib 中设置了一些值?

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

根据日期格式获取字符串的扩展

extension Date {
        func toString(format: String) -> String {
            let dateFormatter = DateFormatter()
            dateFormatter.dateFormat = format
            return dateFormatter.string(from: self)
        }
    }

Date().toString(format:"H:mm")

我遇到的问题是在重新安装和测试之前没有从我的 phone 中删除应用程序。代码在模拟器中运行,但在 phone 中不运行。希望这有帮助