我目前正在尝试在特定日期(万圣节)显示字符串。我已粘贴下面使用的代码:
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()不会在屏幕上显示文字,我只是用它来测试
我不确定我做错了什么或离开了。
这是我到目前为止所拥有的。作为一个相当新的程序员,这看起来会起作用,但正如我所发现的,如果看起来很容易,那可能就错了
感谢。
答案 0 :(得分:2)
在halloweenDate上调用dateFromComponent之前设置dateComponent的值。
答案 1 :(得分:0)
欢迎来到SO。你的问题有点模糊。
如果您的应用程序恰好在相关日期启动/带到前台,那么您可以使用一些日期数学来识别事实并显示警报。
如果您的应用未投放,那么您最好的选择是在目标日期发布带有开火日期的本地通知。然后当系统周围的日期滚动时会向用户显示一条消息,如果用户点击它,您的应用程序将会启动。
上述两种方法都需要一些设置。
你能澄清一下你想做什么吗?
答案 2 :(得分:0)
您希望获取当前日期的月份和日期组件,并将它们分别与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!")
}
答案 3 :(得分:-1)
请使用NSDateFormatter。 例如:
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
var strDate = "01/10/2015"
var currentDate = dateFormatter.dateFromString(strDate)
它适合你。