我注意到NSDateFormatter
允许使用名为.FullStyle
的枚举来打印Tuesday, April 12, 1952 AD
。
但是,我如何以区域安全的方式打印Tuesday
?
答案 0 :(得分:3)
您需要使用NSDateFormatter dateFormat = "cccc"
。如果您需要日期格式模式的参考,可以查看此link:
extension NSDate {
struct Formatter {
static let dayOfWeek: NSDateFormatter = {
let formatter = NSDateFormatter()
formatter.dateFormat = "cccc" // Stand Alone local day of week
return formatter
}()
}
var dayOfWeek: String {
return Formatter.dayOfWeek.stringFromDate(self)
}
}
print(NSDate().dayOfWeek) // Wednesday
Xcode 8 beta 3•Swift 3
extension DateFormatter {
convenience init(dateFormat: String) {
self.init()
self.dateFormat = dateFormat
}
}
extension Date {
struct Formatter {
static let dayOfWeek = DateFormatter(dateFormat: "cccc") // Stand Alone local day of week
}
var dayOfWeek: String {
return Formatter.dayOfWeek.string(from: self)
}
}
print(Date().dayOfWeek) // Wednesday
答案 1 :(得分:0)
你可以像Leo Dabus所说的那样设置formatter.dateFormat = "EEEE"
。
如果您有星期几,则可以将其用作格式化程序weekdaySymbols
的索引。例如:
let formatter = NSDateFormatter()
let weekday = formatter.calendar.component(.Weekday, fromDate: NSDate())
let weekdaySymbol = formatter.weekdaySymbols[weekday]
// result: "Saturday" (for example)