2016-09-27 48 views
2

從Swift3中獲取18年前日期的正確方法是什麼?如何讓今天的日期少於18年

在Swift2,我不得不

let startingDate = NSDate(timeIntervalSinceNow: -600000000) 
+0

你怎麼使用'''Date'''斯威夫特2? '''Date'''只有Swift 3。你應該使用'''NSDate'''。 – 2016-09-27 07:05:56

+0

正確。 Swift3的自動更新改變了我的代碼,我忘記了使用NSDate() –

回答

7

如果你想約會了18年的少,你可以用日曆單位一年了點。

let date = Calendar.current.date(byAdding: .year, value: -18, to: Date()) 

輸出

enter image description here

+0

謝謝。我嘗試過,但它會引發錯誤。 「無法將日期類型的值轉換爲Date()上的預期參數類型'Date'」 –

+0

您是否正在使用某些beta xcode 8?因爲在最終版本上它爲我工作。 –

+0

不是。這是XCode8的正式版本。但我發現了這個問題。我的代碼中有一個名爲Date()的舊輔助類。感謝您的解決方案! –