跳到主要内容

将字符串“2015-04-10”格式化日期转为NSDate类型

参考答案:

在Swift中,你可以使用DateFormatter类将字符串转换为Date(在Objective-C中是NSDate)。下面是一个简单的例子,说明如何将字符串"2015-04-10"转换为Date类型:

import Foundation

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
dateFormatter.locale = Locale(identifier: "en_US_POSIX") // 设置locale为固定值以避免由于地区设置不同导致的解析错误

let dateString = "2015-04-10"
if let date = dateFormatter.date(from: dateString) {
    print(date)
} else {
    print("无法解析日期字符串")
}

这段代码首先创建了一个DateFormatter对象,并设置了它的dateFormat属性为"yyyy-MM-dd",这对应于你的日期字符串的格式。然后,它使用dateFormatterdate(from:)方法来尝试将字符串解析为Date。如果解析成功,date变量将包含一个Date对象,你可以将其用于其他操作。如果解析失败,date将为nil,并且会打印出"无法解析日期字符串"。

注意,我们设置locale为"en_US_POSIX"是为了确保解析过程不受设备当前地区设置的影响。这是一个常见的做法,尤其是在处理固定格式的日期字符串时。