当前位置: 首页 > 知识库问答 >
问题:

从API iOS取时间后如何显示实际时钟时间

酆华皓
2023-03-14

我已经开始学习Swift和iOS了。为了学习的目的,我用openweathermap API编写了一个天气应用程序。在api响应中,它给出了以Unix UTC时间为单位的时间。我已经在扩展中使用这个函数将时间(Int)转换为字符串-

func fromUnixTimeToTimeNDate() -> String {
    let date = Date(timeIntervalSince1970: TimeInterval(self))
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "MMM d, h:mm:ss a"
    if let retData = dateFormatter.string(for: date) {
        return retData
    }
    return ""
}

所以应用程序中的输出看起来像-

现在我想让这个uilabel滴答作响,显示当前的日期和时间,每秒更新一次。我必须为此使用timer()吗?还是有其他解决方案?

共有1个答案

胡嘉歆
2023-03-14

通常,您只需要使用系统时钟和date类的初始化器date()。这将提供当前日期,并使其在更改时更容易更新。您可以创建一个重复的计时器,该计时器每秒触发一次并更新时间显示

如果您想使用API中的当前时间,然后每秒更新该日期,那么您将不得不做一些数学来计算更新的时间。(我不建议每秒都查询API,这会让iOS设备的收音机一直处于满电状态,很快耗尽电池。)

您需要进行一些数学运算,计算自1970年以来API调用的秒数与自1970年以来内部时钟的时间间隔之间的差值,保存该偏移量,并使用它调整调用date()获得的时间。(请参阅date类'initializerinit(TimeIntervalsInceNow:),它可用于获取日期,但要应用调整。

 类似资料:
  • 我只想它显示从当前时间增加30分钟到一天结束前-今天时间是09:46AM它应该显示像的特定日期。但在我的代码里它从00:00...23:30显示一整天。下面是我的代码:

  • Comparing Clocks time_get_clock_info.py import textwrap import time available_clocks = [ ('clock', time.clock), ('monotonic', time.monotonic), ('perf_counter', time.perf_counter), ('p

  • 本文向大家介绍js实现Form栏显示全格式时间时钟效果代码,包括了js实现Form栏显示全格式时间时钟效果代码的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现Form栏显示全格式时间时钟效果代码。分享给大家供大家参考。具体如下: 这里演示的Form栏特效时钟,显示全日期格式的时间日期效果,可显示星期几、几月几号,以往都是直接显示在网页中,而本代码是将时间显示在表单的文本框中,看一下

  • 如果设备时间发生更改,如何以编程方式获取“当前(实际)时间”或“网络操作员的时间”? null

  • 这应该很容易...但是我没有运气搜索文档! 我该如何获得时刻。js返回: ,我可以写: <代码>力矩()。减去(15,'分钟')。fromNow() 我应该使用哪个命令来获得15分钟?

  • 问题内容: 我想找出当前时间之后10分钟的日期时间。假设我们有 我想找到这个,十分钟后。我怎样才能做到这一点? 问题答案: 。基本上,您只需要添加10分钟的时间增量即可获得所需的时间。