Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从swift中的TimeIntervalenceDate获取可读时间_Swift_Nsdate - Fatal编程技术网

从swift中的TimeIntervalenceDate获取可读时间

从swift中的TimeIntervalenceDate获取可读时间,swift,nsdate,Swift,Nsdate,我试图找出如何从TimeIntervalsIncestDate中获取可读的时间量。现在,我在NSUserDefaults中存储了一个带有键“punchInTime”的NSDate,但我不知道当我想找到存储的NSDate“punchInTime”和当前时间之间的差异时如何获取可读时间。我有: var totalWorkTime = NSDate.timeIntervalSinceDate(punchInTime) 我想在字符串中插入“totalWorkTime”以获得可读的时间量 感谢您的帮助!

我试图找出如何从TimeIntervalsIncestDate中获取可读的时间量。现在,我在NSUserDefaults中存储了一个带有键“punchInTime”的NSDate,但我不知道当我想找到存储的NSDate“punchInTime”和当前时间之间的差异时如何获取可读时间。我有:

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天等等?