我需要能够将日期转换为时间戳,即以毫秒为单位的纪元。 我在网上看到的都是将毫秒转换为 NSDate,而不是相反。有什么帮助吗?
最佳答案
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
关于ios - 将 NSDate 转换为毫秒纪元时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9321055/