我需要能够将日期转换为时间戳,以毫秒为单位的纪元。我在网上看到的只是把毫秒转换成NSDate,而不是反过来。外面有什么帮助吗?
发布于 2013-04-16 04:32:23
NSTimeInterval是一个双精度数,它已经包含小数点后的亚秒级数据。根据您的需要,您的转换可能是一个简单的乘以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发布于 2012-02-17 08:34:46
timeIntervalSince1970将返回1970年的秒数。如果需要,还可以使用其他timeIntervalSince方法。
发布于 2016-04-04 23:45:29
timeIntervalSince1970将返回值乘以1000,因为返回值是以秒为单位的,而不是以毫秒为单位的。有关更多测试http://currentmillis.com/的信息,请查看网站
https://stackoverflow.com/questions/9321055
复制相似问题