Date
হয় Comparable
এবং Equatable
(সুইফট 3 হিসাবে)
এই উত্তরটি @ অঙ্কিত ঠাকুরের উত্তরকে পরিপূরক করে।
যেহেতু সুইফ্ট 3 Date
স্ট্রাক্ট (অন্তর্নিহিত NSDate
শ্রেণির উপর ভিত্তি করে ) Comparable
এবং Equatable
প্রোটোকলগুলি গ্রহণ করে ।
Comparable
যে প্রয়োজন Date
অপারেটার বাস্তবায়ন: <
, <=
, >
, >=
।
Equatable
অপারেটর Date
বাস্তবায়ন প্রয়োজন ==
।
Equatable
অপারেটরের Date
ডিফল্ট বাস্তবায়ন !=
(যা Equatable
==
অপারেটরের প্রয়োগের বিপরীত ) ব্যবহার করতে দেয় ।
নিম্নলিখিত নমুনা কোডগুলি এই তুলনা অপারেটরদের ব্যায়াম করে এবং নিশ্চিত করে যে কোন তুলনা print
বিবৃতিতে সত্য ।
তুলনা ফাংশন
import Foundation
func describeComparison(date1: Date, date2: Date) -> String {
var descriptionArray: [String] = []
if date1 < date2 {
descriptionArray.append("date1 < date2")
}
if date1 <= date2 {
descriptionArray.append("date1 <= date2")
}
if date1 > date2 {
descriptionArray.append("date1 > date2")
}
if date1 >= date2 {
descriptionArray.append("date1 >= date2")
}
if date1 == date2 {
descriptionArray.append("date1 == date2")
}
if date1 != date2 {
descriptionArray.append("date1 != date2")
}
return descriptionArray.joined(separator: ", ")
}
নমুনা ব্যবহার
let now = Date()
describeComparison(date1: now, date2: now.addingTimeInterval(1))
describeComparison(date1: now, date2: now.addingTimeInterval(-1))
describeComparison(date1: now, date2: now)
let d1 = Date() ; let d2 = Date() ; if d1 > d2 { }
আমার এক্সকোড 8 বিটা 6 এ কাজ করে