2017-01-25 19 views
0

ラベル用のコンセント3つ、ボタン用のアクション1つ、UIDatePickerView用のコンセント1つを作成しました。 lblFieldは、現在の日付を月、日、年[2017年1月25日]形式で表示します。 lblField2は、dueDateアクションを押した後、ユーザーが選択した日付を表示します。現在、lblField3の現在の日付と選択された日付の差(lblField2 - lblField)を計算する必要があります。 Swift3では、月と日の違いの値をどのように表示できますか?私は厳密にSwift3が必要ですか?Swiftの日付の差の計算3

答えて

1

これにはdateComponentsFormatterを使用できます。

let formatter = DateComponentsFormatter() 
formatter.allowedUnits = [.month,.day] 
formatter.maximumUnitCount = 2 
formatter.unitsStyle = .full 
lblField3.text = formatter.string(from: Date(), to: datePicker.date) ?? "" 

あなたはCalendarをこの方法で使用することができ、月と日の特定と差をつけたい場合。

let components = Calendar.current.dateComponents([.month, .day], from: Date(), to: datePicker.date) 
let dayDifference = components.day! 
let monthDifference = components.month! 
+0

フォーマッタの日付になります。 @月曜日と日の両方が必要です@Narav D – Tamannah

+0

@Tamannah編集した回答を一度確認し、 'maximumUnitCount'を' 2'に設定してください。 –

+0

@NiravD任意のオプションは* nil coalescing *チェックされていなければなりません。日付コンポーネントの場合は、 'month'と' day'コンポーネントを100%安全に指定していますので、対応するプロパティは 'nil'になることはありません。 Appleは便利な初期化子 'DateComponents(hour:12、minute:30)'を使用できるようにプロパティをオプションに変更し、未使用のコンポーネントはすべて省略しました。 – vadian

0
 var date = NSDate().dateStringWithFormat(format: "dd.MM.YYY") 
    print(date) 

2017年2月15日 これは、それだけで数ヶ月ではなく、日を与え、簡単で新しいシングルラインsytax