ios - 来自 Calendar.dateComponents 的日期在 Swift 中返回 nil
问题描述
我正在尝试创建一个Date
包含日、月和年的对象,但 Calendar 的功能正在返回nil
。
let calendar = Calendar.current
let date = calendar.dateComponents([.day,.month,.year], from: Date()).date! // <- nil
如何创建Date
仅包含日、月和年的对象?
解决方案
作为对 rmaddy 答案的补充,您的代码返回的原因nil
是您尝试转换DateComponents
为 aDate
而不指定 a
Calendar
。
如果该转换是使用日历方法完成的
let calendar = Calendar.current
let components = calendar.dateComponents([.day, .month, .year], from: Date())
let date = calendar.date(from: components)
或者如果您将日历添加到日期组件
let calendar = Calendar.current
let date = calendar.dateComponents([.day, .month, .year, .calendar], from: Date()).date
然后你会得到预期的结果。
推荐阅读
- reactjs - React import svg 出现 TS 错误:“找不到模块 '../images/bar.svg'。”
- r - 操作数据框值以匹配不同的列
- python - 如何从服务器下载 .exe 文件并安装它
- javascript - HandleSubmit 在 Redux 表单和 React Native - 没有值打印出来
- python - lightGBM 模型上的部分依赖图 (PDPbox) 错误:“通过的项目数量错误 3,位置暗示”
- android-studio - 如何添加所有非方形的屏幕兼容图像?
- c++ - 删除包含指向另一个位置的指针的指针
- java - 以下 Java 代码中的“地址”是什么?它是单独的 Java 类还是用户定义的数据类型?
- typescript - d.ts 声明模块在导入第三方库时不起作用
- python - 具有不同开始日期的数据时间序列绘图