swift - Swift - 如何创建一个只包含时间的日期对象
问题描述
我试图创建一个仅包含午夜后 1 秒时间的日期对象。
我相信以下应该有效,但它只是不断返回nil。
let dateTime = Date()
let timeFormatter = DateFormatter()
timeFormatter.dateFormat = "HH:mm:ss"
let time = timeFormatter.date(from: "00:00:01")
print("Time: \(time!)")
有人可以告诉我我做错了什么!
谢谢
解决方案
算一下Calendar
,这更可靠,dateTime
无论如何您都没有使用当前日期( )。
let midnight = Calendar.current.startOfDay(for: Date())
let oneSecondAfterMidnight = Calendar.current.date(byAdding: .second, value: 1, to: midnight)
即使由于夏令时更改不存在午夜,这也有效。
推荐阅读
- python - 尝试 - except 子句,NoSuchElementExcepts 错误
- java - 拦截器没有被调用
- html - 如何将多个 HTML 表格以及 html 表格的 css/style 导出到单个 excel 文件中?
- javascript - Discord 机器人在一次响应后停止工作
- python - SymPy:具有组合平方根的符号根上的多项式因式分解
- linux - Fortran 程序无法编译
- php - PHP 7.4 注意:尝试访问 bool 类型值的数组偏移量
- visual-studio - Blazor 调试 - IIS 不更新 wwwroot 文件
- swift - 在 Swift 中初始化 Realm 5.0.x
- php - Laravel Forge 中同时存在多个 php 版本