我想将自 1970 年 1 月 1 日以来经过的毫秒数转换为 NSDate 而不会丢失毫秒数。每个解决方案都说将毫秒除以 1000 并使用 dateWithTimeIntervalSince1970。但我也想保留毫秒。
Best Answer-推荐答案 strong>
dateWithTimeIntervalSince1970 的参数是一个NSTimeInterval ,它不是一个整数值(它是一个double )。没有理由失去毫秒。只是在执行除法时不要使用整数。
例如:
long long milliseconds = 1576058147753;
NSTimeInterval seconds = (NSTimeInterval)milliseconds / 1000.0;
NSDate *date = [NSDate dateWithTimeIntervalSince1970:seconds];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.locale = [NSLocale localeWithLocaleIdentifier"en_US_POSIX"];
[formatter setLocalizedDateFormatFromTemplate"dMMMMyyyyHHmmssSSS"];
December 11, 2019, 01:55:47.753
注意 753 的毫秒数。
关于ios - 将纪元毫秒转换为 NSDate,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/29919765/
|