2016-09-27 47 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()的旧辅助类。感谢您的解决方案! –