繁体   English   中英

如何快速追踪时间?

[英]how to track time in swift?

我需要制作一个应用程序来跟踪办公室的员工出勤情况,之后我需要从服务器以string获取时间日期和时间,之后我需要更新时间标签,然后将其转换为时间Date类以用于下一个流程。

在此处输入图片说明

class MainMenuVC: UIViewController {

    @IBOutlet weak var timeLabel: UILabel!
    @IBOutlet weak var dateLabel: UILabel!
    @IBOutlet weak var checkinStatusLabel: UILabel!

    var employee : Employee?
    var time : String?
    var date : String?

    override func viewDidLoad() {
        super.viewDidLoad()

        getDateTimeFromServer()

    }


func getDateTimeFromServer() {

// request to server to get date and time
// update the UI (date and time label)

}





}

但是问题是,时间数据将始终是相同的,当然,由于我仅向服务器请求一次,因此“分钟”将是静态的。 这将是这个出勤应用程序的一个问题。

假设用户在15:23时打开该菜单,但是当他们在7分钟后实际点击签入按钮时,则将发送回服务器的数据是15:23(首次激活viewDidLoad时)而不是15:30 。

那么我该如何解决这个问题,以便时间总是更新,并且总是与服务器上UI标签和Date类的时间相同?

这是一个简单的编程问题。 你要么需要

  1. 每次需要时间时,请从服务器请求时间。

要么

  1. 从服务器获取一次时间,将其转换为Date ,从设备中获取当前日期,计算差值,并将该差值用作偏移量。 下次用户点击签到按钮时,从设备获取当前Date ,添加您的偏移量,并将其用作当前Date

我留给您弄清楚如何做的细节。 看一下Xcode中的Date类引用。 有一些方法可让您在Dates和数值之间进行转换,并将数字偏移量应用于Dates

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM