【问题标题】:NSDate (Time Elapsed) to HoursNSDate(经过的时间)到小时
【发布时间】:2011-11-01 16:47:49
【问题描述】:

我正在尝试使用 Core Location 计算用户的平均速度,因此我有一个以英里为单位的总行驶距离 (double totalDistance) 和经过的时间 (NSDate *timeElapsed)。

如何将timeElapsed 转换为双倍显示时间? IE。 0.1 小时、0.0001 小时等,这样我才能正确计算我的平均速度?

【问题讨论】:

    标签: objective-c nsdate


    【解决方案1】:

    将日期对象转换为NSTimeInterval(如果您有不同的开始日期,则使用timeIntervalSinceReferenceDatetimeIntervalSinceDate:),然后将NSTimeInterval 除以3600。

    【讨论】:

    • 我这样做了,但我的输出完全错误。 totalDistance/(timeElapsedInterval/3600) 以 70 英里/小时的速度行驶(在附近),输出不正确; totalDistance 是英里,timeElapsedInterval 是秒。我觉得我跳过了一些非常明显的东西。
    • averageSpeed = totalDistance/timeElapsedInterval*3600 似乎解决了它。
    • 您确实意识到a/(b/c) 等于a/b*c,对吗?两者都不等于a/b/c
    • 是的,但在代码中,我第一种方法是输出 0.000000000000001293(或类似的东西)。我不确定括号是否正常工作,或者发生了什么,因此我感到如此困惑。
    猜你喜欢
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多