Swift - 将毫秒转换为日期

Swift - Convert Milliseconds to Date

我有一个包含以毫秒为单位的时间戳的数据结构,例如 1470075992。我只想将其转换为日期,例如 24/12/2016,而不保留转换产生的其他详细信息。

我可以使用什么功能来完成此操作?

谢谢,

以正常方式从时间戳中导出 NSDate:除以 1000 得到秒数,并根据给定参考​​日期的秒数适当地使用 NSDate 初始值设定项来获取日期,例如 init(timeIntervalSinceReferenceDate:)

你问题的另一部分没有意义。你不能这样做 "without keeping the additional details"。没有 "date only i.e. example 24/12/2016" 这样的东西。一个日期就是一个日期(一个 NSDate);它是几秒钟,简单明了。如果你只想查看那个日期的日、月、年,那是一个字符串,而不是一个日期,并且使它成为NSDateFormatter 的工作。

Swift3.0 更新:

typealias UnixTime = Int

extension UnixTime {
    private func formatType(form: String) -> DateFormatter {
        let dateFormatter = DateFormatter()
        dateFormatter.locale = Locale(identifier: "en_US")
        dateFormatter.dateFormat = form
        return dateFormatter
    }
    var dateFull: Date {
        return Date(timeIntervalSince1970: Double(self))
    }
    var toHour: String {
        return formatType(form: "HH:mm").string(from: dateFull)
    }
    var toDay: String {
        return formatType(form: "MM/dd/yyyy").string(from: dateFull)
    }
}

var myMilliseconds: UnixTime = 1470075992
print(myMilliseconds.toDay)