NSDateFormatter

NSDate 对象转换为字符串只需 3 个步骤。

1.创建一个 NSDateFormatter 对象

迅速

let dateFormatter = NSDateFormatter()

Swift 3

let dateFormatter = DateFormatter()

Objective-C

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

2.设置你希望字符串的日期格式

迅速

dateFormatter.dateFormat = "yyyy-MM-dd 'at' HH:mm"

Objective-C

dateFormatter.dateFormat = @"yyyy-MM-dd 'at' HH:mm";

3.获取格式化的字符串

迅速

let date = NSDate() // your NSDate object
let dateString = dateFormatter.stringFromDate(date)

Swift 3

let date = Date() // your NSDate object
let dateString = dateFormatter.stringFromDate(date)

Objective-C

NSDate *date = [NSDate date]; // your NSDate object
NSString *dateString = [dateFormatter stringFromDate:date];

这将产生如下输出:2001-01-02 at 13:00

注意

创建 NSDateFormatter 实例是一项昂贵的操作,因此建议创建一次并尽可能重用。

将日期转换为字符串的有用扩展

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

快速日期形成的有用链接 swiftly-getting-human-readable-date-nsdateformatter

要构建日期格式,请参阅日期格式模式