OGeek|极客世界-中国程序员成长平台

标题: ios - 将纪元毫秒转换为 NSDate [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:08
标题: ios - 将纪元毫秒转换为 NSDate

我想将自 1970 年 1 月 1 日以来经过的毫秒数转换为 NSDate 而不会丢失毫秒数。每个解决方案都说将毫秒除以 1000 并使用 dateWithTimeIntervalSince1970。但我也想保留毫秒。



Best Answer-推荐答案


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/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4