gpt4 book ai didi

ios - Swift:将开始和结束日期格式化为单个字符串

转载 作者:行者123 更新时间:2023-11-30 11:25:06 25 4
gpt4 key购买 nike

我有这两个字符串格式的日期:

let startDate = "2018-06-14"
let endDate = "2018-06-17"

我想将它们一起格式化:

June 14-17, 2018

但是,如果开始日期和结束日期位于不同月份,则应采用如下格式:

June 29 - July 1, 2018

如果开始日期和结束日期属于不同年份,则应采用如下格式:

December 29, 2018 - January 1, 2019

有没有一种简单的方法可以使用 Swift 的 native DateFormatter 来完成此操作?

是否有一个流行的 Pod 可以帮助解决这个问题?

完成此格式化的最佳实践是什么?

最佳答案

这是我的回答:

   if let startDate = startDateString.toDate(withFormat: "yyyy-MM-dd"),
let endDate = endDateString.toDate(withFormat: "yyyy-MM-dd") {
let formatter = DateIntervalFormatter()
formatter.dateStyle = .long
formatter.timeStyle = .none
dateLabel.text = formatter.string(from: startDate, to: endDate)
}

这个扩展:

extension String {

func toDate(withFormat format: String) -> Date? {
let formatter = DateFormatter()
formatter.dateFormat = format
formatter.locale = Locale(identifier: "en_US_POSIX")
return formatter.date(from: self)
}

}

关于ios - Swift:将开始和结束日期格式化为单个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50825316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com