【问题标题】:How to convert 10digit int to date [closed]如何将 10digit int 转换为日期 [关闭]
【发布时间】:2022-01-12 14:19:50
【问题描述】:

如何将 1640704675 转换为日期。

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 转换为 Date //

if let modifiedDate = callValue?.updatedDate{
        let dateValue = String(modifiedDate).toDate(.isoDateTimeMilliSec) ?? Date()
        let finalDate = dateConvertion(date: dateValue, dateFormat: formaterMonthDateyear)
        print("finalDate \(finalDate)")
}

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

【问题讨论】:

  • 您问题中的第二个代码块没有调用第一个代码块中的函数。 toDate 是什么?不管它是什么,它都返回 nil,所以你可以从中获取当前日期。
  • 我没有看到代码中出现数字1640704675 的任何部分。那么如何将 1640704675 转换成任何东西呢?另外(和相关的),不要向我们展示包含未知数的代码;我们无法知道 callValue?.updatedDate 指的是什么,因为您没有展示它 - 如果这是这里的想法,我们根本没有理由相信它是 1640704675。
  • 您的示例日期似乎是以秒为单位的日期,而不是毫秒。如果你把它转换成这样的日期:Date(timeIntervalSince1970: Double(1640704675)) 你会得到2021-12-28 15:17:55 +0000 这似乎是合理的。
  • 你的整数是自 1970 年以来的秒数
  • @matt callValue?.updatedDate 是 Int 值 1640704675

标签: ios swift date nsdateformatter


【解决方案1】:

正如评论中提到的,看起来您的整数值是自 1970 年以来的秒数,而不是毫秒。只需使用现有的init(timeIntervalSince1970: TimeInterval) 方法,并将整数转换为 TimeInterval:

然后这样称呼它:

print(Date(timeIntervalSince1970: TimeInterval(1640704675)))

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

【讨论】:

  • 添加已经存在的初始化程序的目的是什么?
  • 顺便说一句,如果打算支持整数,则应使其成为支持任何二进制整数的通用初始值设定项。
  • 狮子座,说得好。 init(timeIntervalSince1970: TimeInterval) init 方法已经存在。这将教我在做其他 3 件事的同时编辑答案。我编辑了答案以改用现有方法。
猜你喜欢
  • 2013-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-19
  • 2022-10-05
相关资源
最近更新 更多