2017-03-22 93 views
-3

我使用此代碼來獲取當前日期計算日期的一段時間過去,從今天

let date = Date() 
let formatter = DateFormatter() 
formatter.dateFormat = "yyyy.MM.dd" 
let result = formatter.string(from: date) 

我如何能得到過去的日期,例如一天或任何想法當前日期前一年?

+2

使用'DateComponents'。 – Larme

+0

http://stackoverflow.com/a/29465291/2303865問題是如何添加,但你也可以減去 –

回答

0

嘗試使用此:

Date(timeIntervalSinceNow: -3600); \\One hour 

或者你可以用日曆本

let calendar = Calendar.current 
var component = DateComponents() 
component.year = -1 
calendar.date(byAdding: component, to: Date()) 
+0

不要使用第一個選項。在某些情況下這將是錯誤的。 – rmaddy

+0

@rmaddy你能提供這種情況下的例子嗎? – Sergey

+0

通常,您會遇到夏令時問題和閏秒問題。日曆算法總是最好使用'Calendar'方法。 – rmaddy

相關問題