首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Swift:将开始和结束日期格式化为单个字符串

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

Stack Overflow用户
提问于 2018-06-13 04:24:12
回答 1查看 334关注 0票数 0

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

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

我想将它们一起格式化如下:

2018年6月14日至17日

但是,如果开始日期和结束日期在不同的月份,则其格式应如下所示:

2018年6月29日-7月1日

如果开始和结束日期在不同的年份,它的格式应该是这样的:

2018年12月29日-2019年1月1日

有没有一种使用Swift原生DateFormatter的简单方法

有没有流行的pod可以帮助你做到这一点?

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

EN

回答 1

Stack Overflow用户

发布于 2018-06-13 04:38:20

这是我的答案:

   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)
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50825316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档