• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 如何在swift 3中将日期范围转换为字符串?

[复制链接]
菜鸟教程小白 发表于 2022-12-11 19:01:55 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

如何将日期转换为字符串格式?

我得到两个日期之间的日期(从开始到结束日期)。我正在使用以下方法

class Dates {
static func printDatesBetweenInterval(_ startDate: Date, _ endDate: Date) {
    var startDate = startDate
    let calendar = Calendar.current

    let fmt = DateFormatter()
    fmt.dateFormat = "yyyy-MM-dd"

    while startDate <= endDate {
        print(fmt.string(from: startDate))
        startDate = calendar.date(byAdding: .day, value: 1, to: startDate)!
    }
}

static func dateFromString(_ dateString: String) -> Date {
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd"

    return dateFormatter.date(from: dateString)!
}}

在这里打印日期

Dates.printDatesBetweenInterval(Dates.dateFromString("2017-10-02"), Dates.dateFromString("2017-10-9"))

结果:

2017-10-02 2017-10-03 2017-10-04 2017-10-05 2017-10-06 2017-10-07 2017-10-08 2017-10-09

现在,我想将此日期以字符串格式传递给日历(我在应用程序中使用 FSCalendar 库)。我想要这种格式 示例:

["2017-10-02", "2017-10-03", "2017-10-04", "2017-10-05", "2017-10-06", "2017-10-07", "2017-10-08", "2017-10-09"]

谁能指导我。谢谢



Best Answer-推荐答案


static func getDatesStringBetweenInterval(_ startDate: Date, _ endDate: Date)-> String {
        var retval = "["

        var startDate = startDate
        let calendar = Calendar.current

        let fmt = DateFormatter()
        fmt.dateFormat = "yyyy-MM-dd"

        while startDate <= endDate {
            if startDate < endDate {
                retval.append("\"\(fmt.string(from: startDate))\", ")
            } else {
               retval.append("\"\(fmt.string(from: startDate))\"")
            }
            startDate = calendar.date(byAdding: .day, value: 1, to: startDate)!
        }
        retval.append("]")

        return retval
    }

用法:

let aDate = Dates.dateFromString("2017-01-01")
let bDate = Dates.dateFromString("2017-01-05")
let datesString = Dates.getDatesStringBetweenInterval(aDate, bDate)
print(datesString)

关于ios - 如何在swift 3中将日期范围转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46811163/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap