簡體   English   中英

將字符串與當前時間進行比較

[英]Compare a string with current time

我有一個帶有特定小時-分鍾時間戳的字符串,如下所示:

let timeToday = "14:00"

我想將這個時間與當天的當前時間進行比較。 我在使用 NSDate 時遇到了問題,而且它使用了 UTC 時間戳。 我以前沒有使用過NSDateNSCalendarNSDateFormatter ,我對解決這個看似簡單的任務有多么困難感到有點沮喪......

所以我試圖將字符串和當前時間的相同時間設置為兩個 NSDate 變量,然后使用某種比較方法,但我似乎無法在相同的基礎上獲得它們。

如何在相同的基礎上獲得兩個時間戳?

所以我有一個 NSDate :

NSDate: timeToday     // "2015-12-05 14:00:00 +0000"
NSDate: currentTime   // "2015-12-05 22:46:54 +0000"

所以我最終通讀了文檔以了解數據類型的概念。 NSDate代表一個時間點,它將根據您在地球上的位置顯示不同。 因此,使用 UTC 作為時間字符串和當前時間的基礎完全沒問題。

我解決了這樣的問題,使用:

let calender = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)
calender!.locale = NSLocale.currentLocale()

let timeToday = "14:00"
let timeArray = timeToday.componentsSeparatedByString(":")
let timeTodayHours = Int(timeArray[0])
let timeTodayMin = Int(timeArray[1])
let timeTodayDate = calender!.dateBySettingHour(timeTodayHours!, minute: timeTodayMin!, second: 00, ofDate: NSDate(), options: NSCalendarOptions())

let now = NSDate()
if now.compare(timeTodayDate!) == .OrderedDescending {
    print(" 'timeToday' has passed!!! ")
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM