正在尝试创建一个简单的应用程序。
创建了这样一个日期对象:
var date = NSDate()
怎么才能得到现在的时间?在其他语言中,可以这样做:
var hour = date.hour
但我找不到任何类似的属性/方法。dateWithCalendarFormat
和上面的那个属性类似吗??
获取当前日期和时间
可以得到当前的日期和时间,就像这样:
let currentDateTime = Date()
也可以通过以下方式看到当前日期时间的数字
Date().timeIntervalSinceReferenceDate
方法1
如果您知道引用日期之前或之后的秒数,则可以使用该秒数。
let someOtherDateTime = Date(timeIntervalSinceReferenceDate: -123456789.0) // Feb 2, 1997, 10:26 AM
方法2
// Specify date components
var dateComponents = DateComponents()
dateComponents.year = 1980
dateComponents.month = 7
dateComponents.day = 11
dateComponents.timeZone = TimeZone(abbreviation: "JST") // Japan Standard Time
dateComponents.hour = 8
dateComponents.minute = 34
// Create date from components
let userCalendar = Calendar.current // user calendar
let someDateTime = userCalendar.date(from: dateComponents)
默认情况是使用用户的时区。
方法3
最简洁的方法(但不一定是最好的)是使用DateFormatter
...
let formatter = DateFormatter()
formatter.dateFormat = "yyyy/MM/dd HH:mm"
let someDateTime = formatter.date(from: "2016/10/08 22:31")
SWIFT 3更新:
let date = Date()
let calendar = Calendar.current
let hour = calendar.component(.hour, from: date)
let minutes = calendar.component(.minute, from: date)
我是这么搞的:
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute, fromDate: date)
let hour = components.hour
let minutes = components.minute