Swiftで時間が6PMから11PMの間であるかどうかを確認するにはどうすればよいですか?私はNSDateFormatterを使用するのに苦労しています。もっと簡単な方法が必要だと思います。時間が範囲内にあるかどうかを確認するSwift
答えて
使用NSCalendar
:
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
calendar.timeZone = NSTimeZone(name: "MST")!
let hour = calendar.component(.Hour, fromDate: date)
let between6And11PM = 18 <= hour && hour < 23
(OPので編集が午後11時が含まれるべきではない状態)
使用NSCalendar
とNSDateComponents
。文字列 "Calendrical calculations"でXcodeを検索します。
あなたは日から時間、分、秒を抽出し、if文の時間が範囲内にあるかどうかを確認するために化合物を書くことができます:
if components.hour >= 18 && components.hour < 23 {
print("The time is between 6PM and 11PM")
}
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components([.Hour, .Minute], fromDate: date)
let hour = components.hour
switch hour {
case 18...23:
print("True")
default:
print("False")
}
このソリューションは、ユーザーのために働きます現在の時刻。 MST以外の人々もこのアプリを使用しますか?
私はあなたがしていると思うように文字列で始まります(文脈を追加して、あなたが試したこと、または少なくともあなたが次回対処していることを説明してください)。
[Swift 3]
// example of a date-time string
let timeSubstring = "2016-08-06T18:16:11"
// initialize
let datetimeTime = DateFormatter()
// provide format
datetimeTime.dateFormat = "yyyy-MM-ddEEEEEHH:mm:ss"
// converting from time zone
datetimeTime.timeZone = TimeZone(identifier: "MST")
// DateFormatter has been set up, now we can form the date properly
let formDate = datetimeTime.date(from: timeSubstring)
// create your upper and lower bounds (fill in)
let topDate = datetimeTime.date(from: "XXXX-XX-XXXXX:XX:XX")
let bottomDate = datetimeTime.date(from: "XXXX-XX-XXXXX:XX:XX")
// make comparisons
// checks condition left operand is smaller than right operand
if formDate?.compare(other: topDate) == .orderedAscending {
// some code
}
// condition right smaller than left
if formDate?.compare(other: bottomDate) == .orderedDescending {
// some code
}
それとも、同時に両方をチェックしている場合、それ& &します。
あなたは誤ってそこに2つの 'bottomDate'宣言を持っています;) – Kametrixom
@Kametrixomああああ、良い目 - ありがとう –
- 1. UTCタイムスタンプがタイムゾーン内の時間範囲内にあるかどうかを確認しますか?
- 2. 時間が日付の範囲内にあるかどうかを確認する方法
- 3. MS Access query timeフィールドで、時間が範囲内にあるかどうかを確認します。
- 4. 日付が日付範囲内にあるかどうかを確認する
- 5. 数値が範囲内にあるかどうかを確認する
- 6. 値が範囲内にあるかどうかを確認しますか?
- 7. 現在時刻が時間範囲内にあるかどうかをC#
- 8. Excel VBA - ある範囲内の各セルの値が別の範囲にあるかどうかの確認
- 9. 時間の範囲が時間範囲内であることを確認してください。
- 10. PHP時間が範囲内にあるかどうか再確認する範囲が1日以上ある場合
- 11. 文字列が範囲内にあるかどうかを確認
- 12. PHP、日付範囲の一部が別の日付範囲内にあるかどうかを確認
- 13. Ruby:日付と時刻が範囲内にあるかどうかを確認する方法
- 14. 現在の時間が時間範囲内にあるかどうかを計算する方法
- 15. リスト内のリスト内の数字が特定の範囲内にあるかどうかを確認する
- 16. 特定の時間が所定の範囲内にあるかどうかを確認するにはどうすればよいですか?
- 17. 入力が範囲内にあるかどうかを確認するためにwhileを使用するpython3
- 18. 範囲がオーバーラップしているかどうかを確認
- 19. 時間範囲が別の時間範囲に含まれていることを確認します。
- 20. Excel - 数値が範囲内にあるかどうかを一度に確認する方法?
- 21. Excel VBAが範囲内にないかどうかを確認します
- 22. アドレス範囲がプロセスアドレス空間にあるかどうかを確認するためのLitmusテスト?
- 23. データが時間であるかどうかを確認します。時間
- 24. VBA:すべてのヘッダーが範囲内にあるかどうかを確認する
- 25. 日付が範囲内にあるかどうかを確認する最もクリーンな方法(Nullable Date)
- 26. セルが他のシートの範囲内にあるかどうかを確認する
- 27. 入力が数字で範囲内にあるかどうかを確認する方法は? Python
- 28. 1つの整数がdata.tableの特定の範囲内にあるかどうかを確認しますか?
- 29. 値がRails 3の範囲内にあるかどうかを確認しますか?
- 30. 最初にサブストリングが範囲内にあるかどうかを確認します
あなたの 'date'の値は何ですか? 'let date = calendar.dateWithEra(1、年:2016、月:8、日:16、時:23、分:30、秒:0、ナノ秒:0)! ' –
@コードベンダー** Shouldn 11時から11時59分の間は落ちますか? OPは「6PMから11PMの間」を求めた。 18:00 <= t <= 23:00である。 「11:00〜11:59の間」は、OPが尋ねたのと同じ1時間間隔です。 –