如何获取 Swift 中的当前时间?
How to get current time in Swift?
我正在尝试获取当前时间,到目前为止我已经这样做了:
let date = NSDate()
let calender = NSCalendar.currentCalendar()
let components = calender.component([.Hour, .Minute], fromDate: date)
然后我尝试获取组件的小时数
let hour = components.hour
这个给我 "Value of type "Int" 没有成员 'hour'"。有什么建议吗?
改变
let components = calender.component([.Hour, .Minute], fromDate: date)
至
let components = calender.components([.Hour, .Minute], fromDate: date)
NSCalendar.component(_:fromDate:)
returns 日期的 单个 组成部分,作为 Int
。所以你的 components
变量实际上是 Int
类型。将多个单位传递给 component(_:fromDate:)
(正如您所做的那样)是未定义的。
试试这个:
let components = calender.components([.Hour, .Minute], fromDate: date)
注意这里方法名的第一部分是components
,不是component
.
此外,您可能希望将 calender
变量更改为 calendar
,因为这是正确的拼写。
swift 4
let hh2 = (Calendar.current.component(.hour, from: Date()))
let mm2 = (Calendar.current.component(.minute, from: Date()))
let ss2 = (Calendar.current.component(.second, from: Date()))
print(hh2,":", mm2,":", ss2)
output: ---> 9 : 10 : 55
我正在尝试获取当前时间,到目前为止我已经这样做了:
let date = NSDate()
let calender = NSCalendar.currentCalendar()
let components = calender.component([.Hour, .Minute], fromDate: date)
然后我尝试获取组件的小时数
let hour = components.hour
这个给我 "Value of type "Int" 没有成员 'hour'"。有什么建议吗?
改变
let components = calender.component([.Hour, .Minute], fromDate: date)
至
let components = calender.components([.Hour, .Minute], fromDate: date)
NSCalendar.component(_:fromDate:)
returns 日期的 单个 组成部分,作为 Int
。所以你的 components
变量实际上是 Int
类型。将多个单位传递给 component(_:fromDate:)
(正如您所做的那样)是未定义的。
试试这个:
let components = calender.components([.Hour, .Minute], fromDate: date)
注意这里方法名的第一部分是components
,不是component
.
此外,您可能希望将 calender
变量更改为 calendar
,因为这是正确的拼写。
swift 4
let hh2 = (Calendar.current.component(.hour, from: Date()))
let mm2 = (Calendar.current.component(.minute, from: Date()))
let ss2 = (Calendar.current.component(.second, from: Date()))
print(hh2,":", mm2,":", ss2)
output: ---> 9 : 10 : 55