gpt4 book ai didi

ios - 比较没有时间分量的 NSDates

转载 作者:IT王子 更新时间:2023-10-29 04:59:13 26 4
gpt4 key购买 nike

在swift playground,我一直在用

NSDate.date() 

但是,这总是与附加的时间元素一起出现。对于我的应用程序,我需要忽略时间元素。这在 Swift 中可能吗?怎么做到呢?即使我可以将时间元素设置为每个日期的同一时间也可以。

此外,我正在尝试比较两个日期,目前我正在使用以下代码:

var earlierDate:NSDate = firstDate.earlierDate(secondDate)

这是唯一的方法吗?还是我可以忽略时间因素?例如,如果它们是同一天但不同时间,我不想要结果。

最佳答案

在 iOS 8.0+ 中使用此 Calendar 函数比较日期

func compare(_ date1: Date, to date2: Date, toGranularity component: Calendar.Component) -> ComparisonResult


.day为单位传递

按如下方式使用此函数:

let now = Date()
// "Sep 23, 2015, 10:26 AM"
let olderDate = Date(timeIntervalSinceNow: -10000)
// "Sep 23, 2015, 7:40 AM"

var order = Calendar.current.compare(now, to: olderDate, toGranularity: .hour)

switch order {
case .orderedDescending:
print("DESCENDING")
case .orderedAscending:
print("ASCENDING")
case .orderedSame:
print("SAME")
}

// Compare to hour: DESCENDING

var order = Calendar.current.compare(now, to: olderDate, toGranularity: .day)


switch order {
case .orderedDescending:
print("DESCENDING")
case .orderedAscending:
print("ASCENDING")
case .orderedSame:
print("SAME")
}

// Compare to day: SAME

关于ios - 比较没有时间分量的 NSDates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24577087/

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