簡體   English   中英

如何使用Swift在特定日期顯示文本?

[英]How can I display text on a certain date using Swift?

我目前正在嘗試在某個日期(萬聖節)顯示字符串。 我粘貼了下面使用的代碼:

 var dateComponents = NSDateComponents()
    var calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)
    var currentDate = NSDate()
    var halloweenDate = calendar?.dateFromComponents(dateComponents)
    dateComponents.day = 1 
    // I used 1 as the day only for testing
    dateComponents.month = 10 
    dateComponents.year = 2015

然后,我創建了這個If語句,以查看當前日期是否等於HalloweenDate。

    if currentDate == halloweenDate {
        println("Happy Halloween!") 

    }

我知道println()不會在屏幕上顯示文本,我只是將其用於測試

我不確定自己在做什么錯或遺漏。

到目前為止,這就是我所擁有的。 作為一個相當新的程序員,這看起來可以工作,但是正如我發現的那樣,如果看起來很簡單,那可能是錯誤的

謝謝。

在HalloweenDate上調用dateFromComponent之前設置dateComponent的值。

歡迎來到SO。 您的問題有點含糊。

如果您的應用恰好在相關日期啟動/啟動到前台,則可以使用一些日期數學來識別事實並顯示警報。

如果您的應用未運行,那么最好的辦法是發布一個本地通知,並在目標日期上加上一個觸發日期。 然后,當日期臨近時,系統將向用戶顯示一條消息,如果用戶點擊它,則將啟動您的應用程序。

以上兩種方法都需要進行一些設置。

您能說明您要做什么嗎?

您想要獲取當前日期的月和日部分,並將它們分別與10和31進行比較,如下所示:

// This is in Swift 2
let calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)!
let now = NSDate()
let nowComponents = calendar.components([.Month, .Day], fromDate: now)
if nowComponents.month == 10 && nowComponents.day == 31 {
  print("Happy Halloween!")
}

請使用NSDateFormatter。 例如 :

var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"

var strDate = "01/10/2015"
var currentDate = dateFormatter.dateFromString(strDate)

它會為您工作。

暫無
暫無

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

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