【问题标题】:How to convert milliseconds to date string in swift 3 [duplicate]如何在swift 3中将毫秒转换为日期字符串[重复]
【发布时间】:2016-11-21 07:31:13
【问题描述】:

我试图在 swift 3 中将毫秒转换为日期字符串,我尝试通过设置日期格式,但我没有得到当前日期字符串。

var milliseconds=1477593000000

let date = NSDate(timeIntervalSince1970: TimeInterval(milliseconds))
let formatter = DateFormatter()
formatter.dateFormat = "dd-MM-yyyy HH:mm:ss"
formatter.locale = NSLocale(localeIdentifier: "en_US") as Locale!
print(formatter.string(from: date as Date))

output:

22-01-48793 01:30:00

【问题讨论】:

  • 尝试TimeInterval(milliseconds / 1000) 并检查输出
  • 预计秒数。
  • 我尝试用 1000 除以它正在工作

标签: ios swift3


【解决方案1】:

试试这个

var date = Date(timeIntervalSince1970: (1477593000000 / 1000.0))
print("date - \(date)")

您将获得 输出 作为日期:

日期 - 2016-10-27 18:30:00 +0000

【讨论】:

  • 太棒了,需要除以 1000!
  • 当你除以 1000 时你会损失毫秒
【解决方案2】:

试试这个怎么样 -

    let milisecond = 1479714427
    let dateVar = Date.init(timeIntervalSinceNow: TimeInterval(milisecond)/1000)
    var dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "dd-MM-yyyy hh:mm"
    print(dateFormatter.string(from: dateVar))

【讨论】:

    【解决方案3】:

    看看NSDatedocumentation

    convenience init(timeIntervalSince1970 secs: TimeInterval)
    

    返回一个NSDate 对象,该对象相对于当前日期和时间初始化了给定的秒数。

    只需将毫秒转换为秒,您就应该得到正确的日期。

    【讨论】:

      猜你喜欢
      • 2012-08-11
      • 2012-01-15
      • 1970-01-01
      • 2012-09-10
      • 2012-07-29
      • 2012-09-12
      • 2020-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多