2017-05-16 12 views
0

私は、DateToolsSwiftというパッケージ呼び出しを使用しています。今、Dateオブジェクトに1日を追加したい場合は、このようにします。DateToolsSwiftで日付をDateに追加する方法は?

let date = Date().add(TimeChunk(seconds: 0, minutes: 0, hours: 0, days: 3, weeks: 0, months: 0, years: 0)) 

このコードは長すぎますし、正しく感じられません。だから私の質問は、これはDateToolsSwiftでそれを行う方法ですか?それとも間違っているの?

+4

let date = Date().add(3.days) 

を行うか、することができます内蔵のAPI? 'date = Calendar.current.date(byday:value:3、to:Date())' – vadian

+0

@vadianそれは間違っていませんが、DateToolsを使うほうがずっと簡単です。 – Norak

答えて

2

からDateToolsSwiftパッケージは、例えば、 TimeChunk Sの簡単な作成を許可Integer+DateTools.swiftに拡張メソッドを定義3.daysまたは2.weeks。 DateToolsSwiftはまた、カスタム+オペレータを定義するので、したがって、あなたがして何が悪い、

let date = Date() + 3.days 
+0

ありがとうございました。 – Norak

3

* DateToolsSwiftを使用しない。たとえば、あなたが今日に日数を追加したい場合は同様に、あなたはaDate = Date()を設定することができます1970年1月1日

let aDate = Date(timeIntervalSince1970: 0) 
var dateComponent = DateComponents() 
dateComponent.day = 3 
let next3Days = Calendar.current.date(byAdding: dateComponent, to: aDate) 

に3日間を追加したい場合。

EDITあるいは

、@CodeDifferent

let next3Days = Calendar.current.date(byAdding: .day, value: 3, to: aDate)! 
+1

この場合のように1時間単位だけを追加すると、 'let next3Days = Calendar.current.date(by:追加、。値:3、to:日付)!' –

+0

ありがとう@CodeDifferent 、私の答えを更新 – Lawliet

関連する問題