質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

1回答

1108閲覧

【swift】datepickerで設定した日付と今日の日付の差を計算してLabelに表示させたい。

Kaguya_4869

総合スコア116

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/07/30 11:04

#質問したいこと
datepickerで設定した日付と今日の日付の差を計算して、labelに
”あと○日”というのを表示させたいです。
#コード

swift

1import UIKit 2 3class testsViewController: UIViewController, UITextFieldDelegate { 4 5 @IBOutlet weak var testdateField: UITextField! 6@IBOutlet weak var testdatelabel: UILabel! 7 8 func getToday(format:String = "dd") -> String { 9 let now = Date() 10 let formatter = DateFormatter() 11 formatter.dateFormat = format 12 return formatter.string(from: now as Date) 13 } 14 15 var saveData: UserDefaults = UserDefaults.standard 16 var testdatePicker: UIDatePicker = UIDatePicker() 17 var testdatePicker2: UIDatePicker = UIDatePicker() 18 19 @objc func done_timer() { 20 testdateField.endEditing(true) 21 22 let formtter = DateFormatter() 23 24 formtter.dateFormat = "yyyy年MM月dd日" 25 26 testdateField.text = "(formtter.string(from: testdatePicker.date))" 27 } 28 29 override func viewDidLoad() { 30 super.viewDidLoad() 31 32 testdatePicker.datePickerMode = UIDatePicker.Mode.date 33 testdatePicker.timeZone = NSTimeZone.local 34 testdatePicker.locale = Locale.current 35 testdateField.inputView = testdatePicker 36 37 testdatePicker2.datePickerMode = UIDatePicker.Mode.date 38 testdatePicker2.timeZone = NSTimeZone.local 39 testdatePicker2.locale = Locale.current 40 41 42 testdateField.text = saveData.object(forKey: "testdate") as? String 43// 決定バーの生成 44 let toolbar_date = UIToolbar(frame: CGRect(x: 0, y: 0, width: view.frame.size.width, height: 35)) 45 let spacelItem = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: self, action: nil) 46 let doneItem = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(done)) 47 toolbar_date.setItems([spacelItem, doneItem], animated: true) 48 49 50 51 testdateField.inputView = testdatePicker 52 testdateField.inputAccessoryView = toolbar_date 53 54 55 56 testdateField.delegate = self 57} 58@objc func done() { 59 testdateField.endEditing(true) 60 61 let formatter = DateFormatter() 62 63 formatter.dateFormat = "yyyy年MM月dd日" 64 65 testdateField.text = "(formatter.string(from: testdatePicker.date))" 66 } 67}

#やってみたこと
とりあえず、今日の日付を取得するために

swift

1func getToday(format:String = "dd") -> String { 2 let now = Date() 3 let formatter = DateFormatter() 4 formatter.dateFormat = format 5 return formatter.string(from: now as Date) 6 }

としてみましたが、その先どうすれば良いのか分からず…
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

差分取るだけなんですけども。

swift

1let date = Calendar.current.date(from: DateComponents(year: 2020, month: 7, day: 24))! 2 3print("あと(date.timeIntervalSinceNow)秒") 4//=> あと30982580.591670036秒 5 6print("あと(date.timeIntervalSinceNow / (3600*24))日") 7//=> あと358.59468277122687日

投稿2019/07/31 00:44

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kaguya_4869

2019/07/31 21:41

ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問