在一个飞快的操场上,我一直在用

NSDate.date() 

但是,它总是显示附加了时间元素.对于我的应用程序,我需要忽略时间元素.这在SWIFT有可能吗?怎么做得到呢?即使我可以将每个日期的时间元素设置为相同的时间,也可以.

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

var earlierDate:NSDate = firstDate.earlierDate(secondDate)

这是唯一的方法吗?或者我可以用一种忽略时间元素的方式来做这件事吗?例如,如果它们是同一天,而是不同的时间,我不想要结果.

推荐答案

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

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相关问答推荐

Xcode版本15.2上未显示iOS 16.4的模拟器

为什么导航栏在与Style.Page的选项卡栏一起使用时停止工作?

如何使用参与者允许并行读取,但阻止对SWIFT中资源的并发读取和写入?

IOS-获取本地化系统映像

objc[25442]:Swift类的扩展和类别不允许有+load方法

占位符文本未显示在 TextEditor 上

如何在 SwiftUI 中创建显示当前电池电量的电池徽章

发生异常:需要 issuerId

List touch Tabbar 时 SwiftUI Tabbar 消失

将角半径仅应用于 Swiftui 中按钮的两个角

如何将 ImageView 放置在 UIView 的中心?

如何在 Swift 中旋转 UIButton 和 UILabel 的文本?

有什么方法可以预填充核心数据?

本月使用 iOS 的天数?

使用 Xcode 4 的 iPhone 临时构建

Xcode 10.2 无法在 iOS < 10 的模拟器上运行应用程序

iOS:设备旋转后如何运行函数(Swift)

iOS SDK - 以编程方式生成 PDF 文件

如何在 Android 和 iPhone 的移动应用程序中实施推荐计划

将 struct 保存到 UserDefaults