如何将当前月份作为字符串获取?
How can I get the current month as String?
我需要获取当前月份的 5 月,但我做不到。我怎样才能做到这一点?
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
我这样做了,但没有用。
let now = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "LLLL"
let nameOfMonth = dateFormatter.string(from: now)
Swift 3.0 及更高版本
您使用 DateFormatter(),请参阅下文以了解在 Date 的扩展中使用的内容。
在全局范围内的项目中的任何位置添加它。
extension Date {
func monthName() -> String {
let df = DateFormatter()
df.setLocalizedDateFormatFromTemplate("MMM")
return df.string(from: self)
}
}
然后您可以在代码中的任何地方使用它。
let date = Date()
date.monthName() // Returns current month e.g. "May"
如果您使用的是 Swift 3.0,那么扩展和 Date class 是不错的选择。
试试下面的代码
extension Date {
var month: String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMMM"
return dateFormatter.string(from: self)
}
}
像下面这样使用它:
let date = Date()
let monthString = date.month
我需要获取当前月份的 5 月,但我做不到。我怎样才能做到这一点?
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
我这样做了,但没有用。
let now = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "LLLL"
let nameOfMonth = dateFormatter.string(from: now)
Swift 3.0 及更高版本
您使用 DateFormatter(),请参阅下文以了解在 Date 的扩展中使用的内容。
在全局范围内的项目中的任何位置添加它。
extension Date {
func monthName() -> String {
let df = DateFormatter()
df.setLocalizedDateFormatFromTemplate("MMM")
return df.string(from: self)
}
}
然后您可以在代码中的任何地方使用它。
let date = Date()
date.monthName() // Returns current month e.g. "May"
如果您使用的是 Swift 3.0,那么扩展和 Date class 是不错的选择。
试试下面的代码
extension Date {
var month: String {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMMM"
return dateFormatter.string(from: self)
}
}
像下面这样使用它:
let date = Date()
let monthString = date.month