我需要得到可能作为当月,但我做不到。我怎样才能做到这一点。
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components([.Day , .Month , .Year], fromDate: date)
let year = components.year
let month = components.month
let day = components.day
我已经这样做了但是没有用。
答案 0 :(得分:22)
如果您使用 Swift 3.0 ,则扩展程序和日期类是很好的方法。
尝试以下代码
extension Date {
var month: String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMMM"
return dateFormatter.string(from: self)
}
}
如下所示:
let date = Date()
let monthString = date.month
答案 1 :(得分:4)
您可以使用DateFormatter()在Date的扩展名中使用以下内容。
在全局范围内的项目中的任何位置添加它。
extension Date {
func monthAsString() -> String {
let df = DateFormatter()
df.setLocalizedDateFormatFromTemplate("MMM")
return df.string(from: self)
}
}
然后您可以在代码中的任何位置使用它。
let date = Date()
date.monthAsString() // Returns current month e.g. "May"