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

Dav*_*nte 17 nsdateformatter swift3

我在函数中遇到了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)
Run Code Online (Sandbox Code Playgroud)

结果:

convertedDate:2016年7月25日
dateField.stringValue:7/25/16

SaR*_* DM 32

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)
        }
    }
Run Code Online (Sandbox Code Playgroud)


Muh*_*nan 8

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

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

Date().toString(format:"H:mm")
Run Code Online (Sandbox Code Playgroud)


Zac*_*wan 5

这是我在操场上尝试的,它的工作原理.

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
Run Code Online (Sandbox Code Playgroud)

唯一不同的是我改变了NSDateFormatter而不是dateFormatter.stringdateFormatter.stringFromDate.

在此输入图像描述

您是否意外地在故事板或xib中设置了一些值NSTextField

  • dateFormatter.string(from:currentDate as Date)是Swift 3.我很感激你的帮助 (2认同)