从swift中的TimeIntervalenceDate获取可读时间
我试图找出如何从TimeIntervalsIncestDate中获取可读的时间量。现在,我在NSUserDefaults中存储了一个带有键“punchInTime”的NSDate,但我不知道当我想找到存储的NSDate“punchInTime”和当前时间之间的差异时如何获取可读时间。我有:从swift中的TimeIntervalenceDate获取可读时间,swift,nsdate,Swift,Nsdate,我试图找出如何从TimeIntervalsIncestDate中获取可读的时间量。现在,我在NSUserDefaults中存储了一个带有键“punchInTime”的NSDate,但我不知道当我想找到存储的NSDate“punchInTime”和当前时间之间的差异时如何获取可读时间。我有: var totalWorkTime = NSDate.timeIntervalSinceDate(punchInTime) 我想在字符串中插入“totalWorkTime”以获得可读的时间量 感谢您的帮助!
var totalWorkTime = NSDate.timeIntervalSinceDate(punchInTime)
我想在字符串中插入“totalWorkTime”以获得可读的时间量
感谢您的帮助!谢谢。修复您的语法。应该是:
var totalWorkTime = NSDate().timeIntervalSinceDate(punchInTime)
注意NSDate
后面的括号。如果不使用括号,并且尝试将totalWorkTime
视为NSTimeInterval,则会出现错误无法使用类型为的参数列表调用[operator]。
如果在变量赋值中指定类型,则可以获得更好的错误消息。错误是(x)->y不能转换为y
Swift是一种函数式语言。如果在NSDate
之后没有括号,那么totalWorkTime
就不仅仅是NSTimeInterval类型的符号,而是接受NSDate并返回NSTimeInterval的函数的符号。操场中的此语法显示:
除了我上面写的,zisoft关于这个问题(几乎)是重复的是正确的。另一个小的例外是,这个问题询问的是
Double
(NSTimeInterval
)类型,而前面的问题询问的是Int
的可能重复项。您想知道时分秒还是最高单位的总和,如10秒、10分钟、10小时、10天等等?