我如何在swift 5中找到2天之间的天数? [复制]

Posted

技术标签:

【中文标题】我如何在swift 5中找到2天之间的天数? [复制]【英文标题】:how do i find number of days between 2 days in swift 5? [duplicate] 【发布时间】:2020-06-13 04:05:58 【问题描述】:

如何快速找到获取时间。

【问题讨论】:

请编辑您的问题并显示您尝试过的内容以及您面临的问题。您还应该改进您的帖子并更具体。如果一个日期是晚上 11:59,另一个日期是第二天上午 12:00,您期望的结果是什么。它被认为是一天还是零? 【参考方案1】:

如果您的两个日期是字符串,请将它们转换为Date 对象(使用DateFormatter),然后您可以使用Calendar 方法dateComponents(_:from:to:) 来获取天数:

func days(from: String, to: String) -> Int? 
    let formatter = DateFormatter()
    formatter.dateFormat = "MM/dd/yyyy"

    guard
        let date1 = formatter.date(from: from),
        let date2 = formatter.date(from: to)
    else 
        return nil
    

    return Calendar.current.dateComponents([.day], from: date1, to: date2).day

【讨论】:

这可能不会返回确切的天数。如果没有时间信息,它可能会在一天凌晨 1:00(夏令时)和另一天午夜。您应该使用中午时间进行这种日历计算 在解析固定日期格式时,Yiu 还应将语言环境设置为“en_US_POSIX”。我还会设置日历属性以防万一,以避免一些夏令时问题。 ***.com/a/32408916/2303865 试试func days(from: String, to: String) -> Int? let formatter = DateFormatter() formatter.locale = Locale.init(identifier: "pt_BR") formatter.dateFormat = "MM/dd/yyyy" guard let date1 = formatter.date(from: from), let date2 = formatter.date(from: to) else return nil return Calendar.current.dateComponents([.day], from: date1, to: date2).day days(from: "10/18/2015", to: "10/19/2015") // 无 我已将定位设置为巴西,但可以是任何位置 现在添加 formatter.calendar = .current 它将返回 0

以上是关于我如何在swift 5中找到2天之间的天数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何找到两个日期之间的天数差异[重复]

如何在swift 3中为日期添加天数

Swift 距离日期还有 4 天 [重复]

delphi中如何实现一个日期之间的间隔多少天?

java中如何计算出两个日期之间相差多少天

如何计算没有任何一个月的 31 日的 2 个日期之间的天数