[英]Get tomorrow's date with Swift 2
我有這個代碼,它以今天的格式M / dd / yy給出今天的日期
let dateFormater = NSDateFormatter()
dateFormater.dateFormat = "M/dd/yy"
let todayDate = dateFormater.stringFromDate(NSDate())
我怎么能得到同樣的東西,但第二天的日期好嗎?
首先,在這個例子中(從現在開始的一天是明天),您將獲得所需日期的NSDate:
var oneDayfromNow: NSDate {
return NSCalendar.currentCalendar().dateByAddingUnit(.Day,
value: 1, toDate: NSDate(), options: [])!
}
print(oneDayfromNow)
然后將其轉換為格式為字符串(您的情況為M / dd / yy):
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "M/dd/yy"
let str = dateFormatter.stringFromDate(oneDayfromNow)
print(str)
它有點復雜,但無論如何,這都是你需要知道的。
為什么這很困難:你會認為你可以采取NSDate(timeIntervalSinceNow:24 * 60 * 60),現在增加一天。 但是當你開啟夏令時時,那么晚上11:30加上24小時是兩天后的00:30。 當夏令時關閉時,上午00:30加24小時可以在同一天的晚上11:30。
因此,您需要創建一個NSCalendar對象,將NSDate()轉換為組件,將一天添加到組件,轉換回NSDate(所有這些都在第二天為您提供相同的時間,處理所有特殊情況),然后格式化結果就像你現在做的那樣。
我終於使用這段代碼來解決它:讓dateFormater = NSDateFormatter()
dateFormater.dateFormat = "M/dd/yy"
let todayDate = dateFormater.stringFromDate(NSDate().dateByAddingTimeInterval(24 * 60 * 60))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.