【问题标题】:Convert milliseconds to NSDate将毫秒转换为 NSDate
【发布时间】:2011-02-14 00:48:43
【问题描述】:

我有这个“1273636800000”,我想将它转换成这种格式“2010 年 3 月 3 日星期三 00:00:00 GMT-0500 (EST)”

我需要将此毫秒转换为 NSDate 格式。

我试过了

NSDate *tr = [NSDate dateWithTimeIntervalSince1970:1273636800000];

NSDate *tr = [NSDate dateWithTimeIntervalSinceReferenceDate:1273636800000];

NSDate *tr = [NSDate dateWithTimeIntervalSinceNow:1273636800000];

但我无法让它工作,任何人都有类似的问题并找到了解决方案

【问题讨论】:

  • dateWithTimeIntervalSince1970: 做了什么?你考虑过时区吗?
  • 我只需要日期...我不关心时间...

标签: objective-c iphone nsdate


【解决方案1】:

这些函数(dateWithTimeIntervalSince1970、dateWithTimeIntervalSinceReferenceDate、dateWithTimeIntervalSinceNow)接受以秒为单位的参数。

NSDate *date = [NSDate dateWithTimeIntervalSince1970:(ms / 1000.0)];

你应该通过 1273636800.000

NSDate *date = [NSDate dateWithTimeIntervalSince1970:(1273636800 / 1000.0)];

【讨论】:

  • 我花了一周的时间寻找这个,如果你认为 3 小时很愚蠢,我应该怎么称呼自己? XD
【解决方案2】:

除以 1000 以秒为单位得到毫秒,这就是您想要的。

【讨论】:

    【解决方案3】:

    一个简单的单行 Swift 2 函数:

    func dateFromMilliseconds(ms: NSNumber) -> NSDate {
        return NSDate(timeIntervalSince1970:Double(ms) / 1000.0)
    }
    

    【讨论】:

      猜你喜欢
      • 2015-07-07
      • 2012-03-08
      • 1970-01-01
      • 2013-03-27
      • 2013-09-25
      • 2013-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多