【问题标题】:Convert a NSDate to milliseconds epoch time将 NSDate 转换为毫秒纪元时间
【发布时间】:2012-03-08 10:16:28
【问题描述】:

我需要能够将日期转换为时间戳,以毫秒为单位的纪元。 我在网上看到的只是将毫秒转换为 NSDate,而不是反过来。有什么帮助吗?

【问题讨论】:

    标签: ios xcode nsdate epoch


    【解决方案1】:

    NSTimeInterval 是一个 double,它已经包含小数点后的亚秒级数据。根据您的需要,您的转换可能很简单,只需乘以 1000。

    - (void)testDateFormat
    {
        NSDate *date = [NSDate date];
        NSLog(@"Time: %f", floor([date timeIntervalSince1970] * 1000));
        NSLog(@"Time: %f", floor([date timeIntervalSince1970]));
        NSLog(@"Time: %lli", [@(floor([date timeIntervalSince1970] * 1000)) longLongValue]);
        NSLog(@"Time: %lli", [@(floor([date timeIntervalSince1970])) longLongValue]);
    }
    
    // Result
    // 2013-04-15 13:28:11.284 TestApp[10469:907] Time: 1366057691284.000000
    // 2013-04-15 13:28:11.286 TestApp[10469:907] Time: 1366057691.000000
    // 2013-04-15 13:28:11.287 TestApp[10469:907] Time: 1366057691284
    // 2013-04-15 13:28:11.288 TestApp[10469:907] Time: 1366057691
    

    【讨论】:

      【解决方案2】:

      【讨论】:

        【解决方案3】:

        timeIntervalSince1970 将返回值乘以 1000 因为返回的值是秒而不是毫秒 请检查该网站以进行更多测试http://currentmillis.com/

        【讨论】:

          猜你喜欢
          • 2015-07-07
          • 2013-11-11
          • 1970-01-01
          • 2011-02-14
          • 1970-01-01
          • 2013-08-19
          • 1970-01-01
          • 2020-12-04
          • 2014-03-14
          相关资源
          最近更新 更多