检查日期阵列中的日期是否为今天的日期(Swift)

问题描述:

我有一系列'提示'。提醒是我自己写的一个自定义类,它有一个属性.fireDate。检查日期阵列中的日期是否为今天的日期(Swift)

如何检查其中一个提醒.fireDate属性是否与今天相同?

+1

编辑您的问题并在这里粘贴相关代码 –

let calendar = Calendar(identifier: Calendar.Identifier.gregorian) 
for (idx, date) in dates.enumerated() { 
    if calendar.isDateInToday(date) { 
     print("today at index \(idx)!") 
    } 
} 
+0

谢谢!我将如何获得匹配数组中日期的对象的索引? –

+0

只需使用'enumerated()'函数:) –

获取第一个项目的索引,其中fireDate在今天。如果不是nil,至少有一个项目。

let calendar = Calendar.current 
if let indexOfFirstReminderWhichFiresToday = reminders.index(where: { calendar.isDateInToday($0.fireDate) }) { 
    print("\(reminders[indexOfFirstReminderWhichFiresToday]) fires today") 
} 
+0

只需使用'contains(where:)'代替 – Alexander

+0

谢谢,真是太棒了!甚至不知道有这样的方法^^ –

+2

'!= nil'很烂。有'警卫'和'如果让',以避免与零工作。 :) – Andy