首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将10位int转换为日期

问如何将10位int转换为日期
EN

Stack Overflow用户
提问于 2022-01-12 14:19:50
回答 1查看 139关注 0票数 -3

如何将1640704675转换为日期。

代码语言:javascript
复制
extension Date {
    var millisecondsSince1970:Int64 {
        return Int64((self.timeIntervalSince1970 * 1000.0).rounded())
    }

    init(milliseconds:Int64) {
        self = Date(timeIntervalSince1970: TimeInterval(milliseconds) / 1000)
    }
}

//Convert date to another formate.
func dateConvertion(date: Date, dateFormat: String) -> String {
    let dateFormater = DateFormatter()
    dateFormater.dateFormat = dateFormat
    dateFormater.locale = Locale(identifier: "en_US_POSIX")
    let dateStr = dateFormater.string(from: date)
    return dateStr
}

尝试将10位数字的Int转换为日期//

代码语言:javascript
复制
if let modifiedDate = callValue?.updatedDate{
        let dateValue = String(modifiedDate).toDate(.isoDateTimeMilliSec) ?? Date()
        let finalDate = dateConvertion(date: dateValue, dateFormat: formaterMonthDateyear)
        print("finalDate \(finalDate)")
}

将int值转换为date时显示的当前日期值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-12 15:38:46

正如注释中提到的,整数值似乎是1970年以来的数秒,而不是毫秒。只需使用现有的init(timeIntervalSince1970: TimeInterval)方法,并将整数转换为TimeInterval:

就这样叫它:

代码语言:javascript
复制
print(Date(timeIntervalSince1970: TimeInterval(1640704675)))

正如注释中提到的,这将显示2021-12-28 15:17:55 +0000,它看起来像是最近的有效日期。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70683172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档