【Swift入門】日時を操作する | Date・DateFormatter・DatePicker

こんにちは!フリーエンジニアのヤマシタです。

Swiftで日付操作を行うにはDateを使用します。

この記事では、

・Dateで現在の日時を取得する方法
・Dateで指定した日時を取得する方法

というDateの基本的な解説から、

・日時をフォーマットする方法
・DatePicker(デートピッカー)の使い方

などの応用的な使い方に関しても解説していきます。

今回はそんなDateやDateFormatter、DatePickerの使い方についてわかりやすく解説します!

※この記事ではSwift4.0を使用しています。

Dateで日付を取得する方法

現在の日時を取得する

Dateは現在の日付を取得することができる構造体です。

Dateは日付を取得する以外にも日付同士を比較したり、日付間の時間間隔の計算、新しい日付の作成などができます。

また、DateFormatterのインスタンスを使用して指定したフォーマットで日時を取得することができます。

Swift2まではNSDateNSDateFormattterを使用していましたが、Swift3以降ではDateやDateFormattterを使用するようになりました。

以下にDate構造体を使用して、現在の日付を取得するサンプルを紹介します。

実行結果:

このように日付を取得するだけなら、簡単に行うことができます。

指定した日時を取得する

Calendarのインスタンスを使用することで、特定の日時を取得することができます。

以下のサンプルではCalendarのdatestartOfDayを使用して、基準となる日時から指定した日時を取得する方法を紹介します。

上記サンプルでは、生成したCalendarインスタンスのdateを使用してvalueの値を1(明日)、-1(昨日)を指定して日付を取得しています。

日時をフォーマットする

日付を指定したフォーマットに整形するには、DateFormmaterを使用します。

以下にDateで取得した日付をDateFormmaterでフォーマットするサンプルを紹介します。

実行結果:

このサンプルでは、まずDateで現在の日付を取得しています。

次にDateFormmatterのインスタンスを生成し、DateFormatterのDateFormatを使用して日付のフォーマットを指定しています。

最後に指定したフォーマットをStringに変換するためにDateFormatterのstringを使用して、Dateで取得した日付を引数に指定しています。

また、指定した日時をフォーマットしたい場合は、以下のように日時を文字列で指定してフォーマットすることもできます。

DatePicker(デートピッカー)を使ってみよう

ここではXCodeのSwiftのプロジェクトからDatePickerを使用して、選択した日付を取得してみましょう。
今回はSwift4、Xcodeのバージョン9を使用しています。

DatePickerを使用するには、Xcodeのプロジェクトから「Main.storyboard」を選択し、DatePickerを画面に配置します↓

image1

続けて、Labelを画面に配置します↓

image2

続けて、Buttonを画面に配置し、ボタンの名称を「GetDate」にします↓

image3

部品を全て配置したらViewController.swiftのソースコードを表示して、各部品を「control」を押しながらソースコードにドラッグします。

まずはLabelをソースコードにドラッグし、Nameを「Label」にしてConnectボタンを押します。

続けてDateickerを同じようにソースコードにドラッグし、Nameを「Picker」にしてConnectボタンを押します。

最後にButtonをdidReceiveMemoryWarning(){…}以下にドラッグして、Buttonの吹き出しから、Connectionを「Aciton」に設定して、Nameを「GetDate」に設定します。

これで各部品ごとにイベントを受け取れるようになりました。

続けてButtonのGetDateを以下のように記述して、DatetPickerの値が変更されたときにデータを取得できるようにします。

GetDateには、以下のように記述します。

ここまで記述したViewController.swiftの全体は以下のようになります。

これをビルドして実際に動かして見ましょう

ピッカーを操作して「GetDate」ボタンをクリックすると、選択した日付がラベルに表示されました!
image5

まとめ

ここではSwiftので日付を操作する方法として、

・Dateで現在の日時を取得する方法
・Dateで指定した日時を取得する
・日時をフォーマットする
・DatePicker(デートピッカー)の使用方法

などについて解説しました。

Swiftで日付を扱うには、DateやDateFormatter、Calendarなどがよく使用されます。

そのため、使い方についてはよく理解しておきましょう。

もし日付を扱う方法を忘れてしまったら、この記事を思い出してくださいね!

最短でプログラミングを習得したい方へ

元々ITリテラシーのある方やプログラムの学び方がわかっている方は独学で習得することも可能でしょう。

ただし、実際の学習期間中はつまづいている時間がほとんどです。

「もう挫折したくない」
「本業と両立しながら、好きな時間で自分のペースで勉強を続けていきたい。」
「自分だけのカリキュラムで効率的に勉強したい」

そんな方はお気軽に侍エンジニア塾までご相談ください。

弊社では、

  • プログラミング基礎学習
  • オリジナルアプリ開発
  • 仕事獲得

までをひと通り学習できます。

まずは無料体験レッスンで、弊社のコンサルタントと一緒にあなた専用の学習方法やカリキュラムを考えてみませんか?

挫折しない学び方や、通常1000時間以上かかる学習時間を1/3にする方法などより具体的なアドバイスもさせていただいています。

詳しくは下の画像をクリックして弊社サービス内容をご確認ください。

cta1

LINEで送る
Pocket

書いた人

ヤマシタ

フリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、今まで200本以上の執筆経験があります

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説