[解決済み] SwiftによるNSDateの比較
2022-04-28 01:52:09
質問
宿題の期限をチェックするアプリを制作しています。 期限日が来週中かどうかを知り、もしそうならアクションを実行したいのです。
私が見つけたほとんどのドキュメントはObjective-Cで、私はSwiftでそれを行う方法を理解することはできません。
助けてくれてありがとうございます!
どのように解決するのですか?
私はコードをより読みやすくするために拡張機能を使うのが好きです。 ここでは、コードをきれいにし、理解しやすくするのに役立つNSDateの拡張機能をいくつか紹介します。 私はこれをsharedCode.swiftファイルに入れました。
extension NSDate {
func isGreaterThanDate(dateToCompare: NSDate) -> Bool {
//Declare Variables
var isGreater = false
//Compare Values
if self.compare(dateToCompare as Date) == ComparisonResult.orderedDescending {
isGreater = true
}
//Return Result
return isGreater
}
func isLessThanDate(dateToCompare: NSDate) -> Bool {
//Declare Variables
var isLess = false
//Compare Values
if self.compare(dateToCompare as Date) == ComparisonResult.orderedAscending {
isLess = true
}
//Return Result
return isLess
}
func equalToDate(dateToCompare: NSDate) -> Bool {
//Declare Variables
var isEqualTo = false
//Compare Values
if self.compare(dateToCompare as Date) == ComparisonResult.orderedSame {
isEqualTo = true
}
//Return Result
return isEqualTo
}
func addDays(daysToAdd: Int) -> NSDate {
let secondsInDays: TimeInterval = Double(daysToAdd) * 60 * 60 * 24
let dateWithDaysAdded: NSDate = self.addingTimeInterval(secondsInDays)
//Return Result
return dateWithDaysAdded
}
func addHours(hoursToAdd: Int) -> NSDate {
let secondsInHours: TimeInterval = Double(hoursToAdd) * 60 * 60
let dateWithHoursAdded: NSDate = self.addingTimeInterval(secondsInHours)
//Return Result
return dateWithHoursAdded
}
}
あとは、こんな風にできたら。
//Get Current Date/Time
var currentDateTime = NSDate()
//Get Reminder Date (which is Due date minus 7 days lets say)
var reminderDate = dueDate.addDays(-7)
//Check if reminderDate is Greater than Right now
if(reminderDate.isGreaterThanDate(currentDateTime)) {
//Do Something...
}
関連
-
[解決済み] swiftにおけるconvenience initとinitの違いは何ですか、より良い明示的な例
-
[解決済み] Swift 3、Swift 4、それ以降で dispatch_sync, dispatch_async, dispatch_after などはどうすればいいですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] Swift で app delegate への参照を取得するにはどうすればよいですか?
-
[解決済み】Swiftでナビゲーションバーの色を変更する
-
[解決済み] SwiftフレームワークでCommonCryptoをインポートする
-
[解決済み] Swiftアプリでローカルデータを保存する方法とは?
-
[解決済み] Swift - Int を enum:Int にキャストする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Xcode 8 シェルスクリプト呼び出しエラー
-
[解決済み] Swift 5でXOR?
-
[解決済み] Swiftでbase64StringをStringに変換する方法とは?
-
[解決済み] Swiftで乱数を生成する方法とは?
-
[解決済み] Swift: print() vs println() vs NSLog()
-
[解決済み】Swift 4でStringのsubstringを使うには?'substring(to:)'は非推奨です。部分的な範囲から'演算子を持つ文字列スライス添字を使用してください。
-
[解決済み】Swiftの`let`と`var`の違いは何ですか?
-
[解決済み]SwiftでErrorタイプでローカライズされた説明を提供する方法は?
-
[解決済み】ReactiveCocoaとRxSwiftの比較 - 長所と短所?
-
[解決済み】UIViewControllerの最上位機種を取得する。