我正在使用包調用DateToolsSwift。現在,無論何時我想爲Date對象添加一天,我都會這樣做:如何使用DateToolsSwift添加日期到日期?
let date = Date().add(TimeChunk(seconds: 0, minutes: 0, hours: 0, days: 3, weeks: 0, months: 0, years: 0))
此代碼太長,感覺不對。所以我的問題是,這是在DateToolsSwift中做到這一點的方法嗎?或者我做錯了?
我正在使用包調用DateToolsSwift。現在,無論何時我想爲Date對象添加一天,我都會這樣做:如何使用DateToolsSwift添加日期到日期?
let date = Date().add(TimeChunk(seconds: 0, minutes: 0, hours: 0, days: 3, weeks: 0, months: 0, years: 0))
此代碼太長,感覺不對。所以我的問題是,這是在DateToolsSwift中做到這一點的方法嗎?或者我做錯了?
的DateToolsSwift包定義在Integer+DateTools.swift擴展方法,其允許簡單創建 TimeChunk
S,例如3.days
或2.weeks
。因此,你可以做
let date = Date().add(3.days)
,或者因爲DateToolsSwift還定義了一個自定義的+
操作,
let date = Date() + 3.days
非常感謝你的先生。 – Norak
*不使用DateToolsSwift。舉例來說,如果你要到3天添加到1970年1月1日
let aDate = Date(timeIntervalSince1970: 0)
var dateComponent = DateComponents()
dateComponent.day = 3
let next3Days = Calendar.current.date(byAdding: dateComponent, to: aDate)
同樣,你可以設置aDate = Date()
如果你想加入天到今天。
EDIT
可替代地,從@CodeDifferent
let next3Days = Calendar.current.date(byAdding: .day, value: 3, to: aDate)!
如果您只添加1個時間單位,就像在這種情況下一樣,還有一個更方便的函數:'let next3Days = Calendar.current.date(byAdding:.day,value:3,to:aDate)!' –
Thanks @CodeDifferent ,更新了我的回答 – Lawliet
這有什麼錯內置API? 'let date = Calendar.current.date(byAdding:.day,value:3,to:Date())' – vadian
@vadian沒有錯,但它更容易使用DateTools。 – Norak