如何使用Swift中使用DateFormatter返回日期?

发布于 2025-01-18 12:21:58 字数 825 浏览 0 评论 0原文

我有一个小问题,我不知道该如何解决。我有一个与datepicker一起使用的日期。

我如何在代码中使用该格式的约会?

  var minMaxRange : ClosedRange<Date> {
        return dateStart...dateEnd
    }

我希望datepicker从当前日期开始,而日期登录来自后端。 dateend是一个字符串,所以我对此没有问题。

    var dateStart : Date {
        let isoDate = Date()
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
        dateFormatter.timeZone = .current
        return dateFormatter.date(from: isoDate)
    }
    
    var dateEnd : Date {
        let isoDate = syncViewModel.schedule[0].end
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
        dateFormatter.timeZone = .current
        return dateFormatter.date(from: isoDate) ?? Date.now
    }


I have a little problem and I don't know how can I solve it. I have a closedRange of dates which i'm using with a DatePicker.

How can I have a date with that format that I have in the code bellow ?

  var minMaxRange : ClosedRange<Date> {
        return dateStart...dateEnd
    }

I want the datePicker to start from the current date, and dateEnd is coming from the backend. dateEnd is a string so I do not have problem with this.

    var dateStart : Date {
        let isoDate = Date()
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
        dateFormatter.timeZone = .current
        return dateFormatter.date(from: isoDate)
    }
    
    var dateEnd : Date {
        let isoDate = syncViewModel.schedule[0].end
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
        dateFormatter.timeZone = .current
        return dateFormatter.date(from: isoDate) ?? Date.now
    }


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

听风吹 2025-01-25 12:21:58

您已经有了一个Date...只需编写var dateStart = Date()

然后,当您在屏幕上显示日期(开始和结束)时,您可以使用以下方法将它们格式化为字符串:

dateFormatter.string(from: dateStart)

You already have a Date... just write var dateStart = Date().

Then, you can format both dates (start and end) to a string when you show them on the screen, using:

dateFormatter.string(from: dateStart)

你的呼吸 2025-01-25 12:21:58
var minMaxRange: ClosedRange<Date> {
    .now ... dateEnd
}
var minMaxRange: ClosedRange<Date> {
    .now ... dateEnd
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文