2017-01-14 15 views
0
私の目的は、私は特定の年に年を追加するときに、余分な一日を取得することです

1年特定の年に追加余分な日を取得する方法

遊び場:

var dateFormatter = DateFormatter() 
var startDateString = "2015-01-05" 
dateFormatter.dateFormat = "yyyy-MM-dd" 

var startDate = dateFormatter.date(from: startDateString) 
let result = Calendar.current.date(byAdding: .year, value: 1, to: startDate!) 

I

let finalResult = Calendar.current.date(byAdding: .day, value: 1, to: result!) 
// January 6 etc... 
:私は多くのコードを追加した結果を得ることができ、 Jan 6, 2016, 12:00 AM

[OK]を得ることを期待

もっと簡単なコードはありますか?

答えて

1

あなたは、単一の操作で任意の「日付コンポーネント」を追加することができます。

let dateComponents = DateComponents(year: 1, day: 1) 
let result = Calendar.current.date(byAdding: dateComponents, to: startDate!) 

DateComponentsに代わり日付フォーマッタのもを使用することができ、あなたのケースで、 日付を作成します。

let startDate = DateComponents(calendar: Calendar.current, year: 2015, month: 1, day: 5).date 
+0

とてもきれいです!私はこのDateComponentsを見る必要があります!ありがとうございました! – Sylar

+1

@Sylar:どうぞよろしくお願いいたします。 - DateComponentsの使用方法の別の例を追加しました。 –

関連する問題