作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要获取从当前时间到晚上 11 点之间的所有剩余时间,并将其以日期格式保存在数组中。这是我到目前为止所写的内容:
var sortedTime: [Date] = {
let today = Date()
var sortedTime: [Date] = []
(0..<14).forEach {
sortedTime.append(Calendar.current.date(byAdding: .hour, value: $0, to: today)!)
}
return sortedTime
}()
在代码中我有:(0..<14).forEach {
这给了我接下来的 14 个小时,但这不是我所需要的;我需要确保我的工作时间是在上午 9 点到晚上 11 点之间。我怎样才能设置这个限制?
最佳答案
当您访问任何日历的 .hour 时,其格式为 24 小时。所以你需要这样的东西:
let today = Date()
var sortedTime: [Date] = []
var calender = Calendar(identifier: .iso8601)
calender.locale = Locale(identifier: "en_US_POSIX")
let currentHour = calender.component(.hour, from: today)
(0...(24-currentHour)).forEach {
guard let newDate = calender.date(byAdding: .hour, value: $0, to: today) && calender.component(.hour, from: newDate) != 0,
calender.component(.hour, from: newDate) <= 23 else {
return
}
//convert date into desired format
sortedTime.append(newDate)
}
关于swift - 获取一天中的所有时间(以日期格式)从上午 9 点到晚上 11 点,并保存在 Swift 的数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59251657/
我是一名优秀的程序员,十分优秀!