我怎么能在斯威夫特那里得到一天的时间.我曾尝试NSCalendar和NSDateComponents,但我怕我刚开始用斯威夫特.
ave*_*Joe 118
Swift 4和Swift 3
let hour = Calendar.current.component(.hour, from: Date())
Run Code Online (Sandbox Code Playgroud)
或者,如果您对12 hour AM/PM日期格式感兴趣,请使用NSDateFormatter
let formatter = DateFormatter()
formatter.dateFormat = "hh a" // "a" prints "pm" or "am"
let hourString = formatter.string(from: Date()) // "12 AM"
Run Code Online (Sandbox Code Playgroud)
如果您需要分钟,秒和其他,请执行以下操作
let date = Date() // save date, so all components use the same date
let calendar = Calendar.current // or e.g. Calendar(identifier: .persian)
let hour = calendar.component(.hour, from: date)
let minute = calendar.component(.minute, from: date)
let second = calendar.component(.second, from: date)
Run Code Online (Sandbox Code Playgroud)
查看Apple文档中的可用组件:
.era, .year, .month, .day, .hour, .minute, .second,
.weekday, .weekdayOrdinal, .quarter, weekOfMonth, .weekOfYear,
.yearForWeekOfYear, .nanosecond, .calendar, .timezone
Run Code Online (Sandbox Code Playgroud)
Swift 2.0
let hour = NSCalendar.currentCalendar().component(.Hour, fromDate: NSDate())
Run Code Online (Sandbox Code Playgroud)
Swift 1.0
let hour = NSCalendar.currentCalendar().component(.CalendarUnitHour, fromDate: NSDate())
Run Code Online (Sandbox Code Playgroud)
Kum*_* KL 26
斯威夫特3:
let date = Date()// Aug 25, 2017, 11:55 AM
let calendar = Calendar.current
let hour = calendar.component(.hour, from: date) //11
let minute = calendar.component(.minute, from: date) //55
let sec = calendar.component(.second, from: date) //33
let weekDay = calendar.component(.weekday, from: date) //6 (Friday)
Run Code Online (Sandbox Code Playgroud)
从以下API获取任何组件
public enum Component {
case era
case year
case month
case day
case hour
case minute
case second
case weekday
case weekdayOrdinal
case quarter
case weekOfMonth
case weekOfYear
case yearForWeekOfYear
case nanosecond
case calendar
case timeZone
}
Run Code Online (Sandbox Code Playgroud)
斯威夫特2:
let currentHour = NSCalendar.currentCalendar().component(.Hour, fromDate: NSDate())
Run Code Online (Sandbox Code Playgroud)
这可能就足够了:
let currentDate = NSDate() // You can input the custom as well
let calendar = NSCalendar.currentCalendar()
let components = calendar.components(.CalendarUnitHour | .CalendarUnitMinute, fromDate: currentDate)
let currentHour = components.hour // You can play around with the ""components""
Run Code Online (Sandbox Code Playgroud)
如果你想要一个字符串中的当前小时,这是我能想到的简短和可读.
let formatter = NSDateFormatter()
formatter.dateFormat = "HH"
let timeString = formatter.stringFromDate(NSDate())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36026 次 |
| 最近记录: |