swift - 如何将 DateComponents 格式化为部分日期字符串?
问题描述
我有一个DateComponents
包含一个月和一年的对象,我想从中获取格式为“2021 年 3 月”的字符串。我已经尝试过DateComponentsFormatter
,但没有一个属性能接近我想看到的。
let components = DateComponents(calendar: .current, timeZone: .current, year: 2021, month: 3, day: nil)
let formatter = DateComponentsFormatter()
let string = formatter.string(from: components) // Optional("2,021y 3mo")
请问可以这样做DateComponents
吗?
解决方案
let date = Calendar.current.date(from: DateComponents())
var formatter = DateFormatter()
formatter.dateFormat = "MMMM yyyy"
print(formatter.string(from: date))
这几乎是你需要做的事情
let components = DateComponents(calendar: .current, timeZone: .current, year: 2021, month: 3, day: nil)
let date = calendar.current.date(from: components)
let formatter = DateFormatter()
formatter.dateFormat = "MMMM yyyy"
let string = formatter.string(from: date)
https://nsdateformatter.com/在这里你可以看到如何以不同的方式格式化日期。
推荐阅读
- postgresql - 有什么方法可以替换 postgresql 中的类似条件?
- sql - 获取有条件的连续天数
- javascript - 如何使用firebase将推送通知从网络发送到android?
- java - 硒错误 - 无法找到选择元素
- google-assistant-sdk - 由 Google 助理触发的 Webhook
- php - 使用 RedBean php 连接到数据库的问题
- sql-server-ce - Visual Studio 中突然缺少 SQL Server CE 工具箱
- amazon-web-services - 托管在 lightsail 上的应用程序的 Amazon 简单电子邮件服务 (SES) 定价
- php - 在 Laravel 中使用表单而不包含 LaravelCollective
- openshift-origin - Docker 工具箱 - OpenShift Origin - OCI 运行时创建失败