Calendarで日時や曜日を取得する【Android,Kotlin】

Androidアプリ開発
記事内に広告が含まれています。

この記事ではAndroidでCalendarクラスを使用して、現在の日付、曜日、時間を取得する方法を紹介します。

Kotlinのサンプルコードを使って分かりやすく解説しているので、ぜひ参考にしてください。

日付の取得

まずは年、月、日を取得する方法を紹介します。

val calendar = Calendar.getInstance()
val year = calendar.get(Calendar.YEAR) //年を取得
val month = calendar.get(Calendar.MONTH) + 1 //月を取得
val day = calendar.get(Calendar.DAY_OF_MONTH) //日を取得

1行目のCalendar.getInstance()で現在の日時を取得します。

2~4行目のように.get()を使うことで日付を年、月、日に分けて取得できます。

注意点としては、Calendar.MONTHで取得できる月は0から始まることです。
例えば、取得した月が3月の場合は2が返されるので、Calendarで月を取得するときはcalendar.get(Calendar.MONTH) + 1というふうに取得した月に1を足しています。

時間の取得

次に時間を取得する方法を紹介します。

val calendar = Calendar.getInstance()
val hour1 = calendar.get(Calendar.HOUR_OF_DAY)//時間を取得(24時間表記)
val hour2 = calendar.get(Calendar.HOUR)//時間を取得(12時間表記)
val minute = calendar.get(Calendar.MINUTE)//分を取得

先ほど紹介した日付を取得する方法と同じように、1行目のCalendar.getInstance()で現在の日時を取得し、その後に.get()で時間や分を取得するようになっています。

分の取得にはCalendar.MINUTE、時間の取得はCalendar.HOUR_OF_DAYCalendar.HOURを使います。

Calendar.HOUR_OF_DAYCalendar.HOURはどちらも時間を取得するコードですが、取得した時間を返すフォーマットが違います。
Calendar.HOUR_OF_DAYは24時間表記、Calendar.HOURは12時間表記で時間を返します。

例えばCalendarで取得した時刻が午後8時のとき、Calendar.HOUR_OF_DAYでは20Calendar.HOURでは8が返されるので、必要に応じて使い分けてください。

曜日の取得

最後に曜日を取得する方法を紹介します。

val calendar = Calendar.getInstance()
val dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK)

先ほど紹介した日付や時間を取得する方法と同じように、1行目のCalendar.getInstance()で現在の日時を取得し、その後に.get()で曜日を取得します。

Calendar.DAY_OF_WEEKで取得できる曜日の形式はintです。
また、日曜日がスタートになっています。そのため、取得した曜日が日曜日のときは1、土曜日のときには7が返される点に注意しましょう。

他の方法

実は、日付や時間を取得する方法はCalendarクラス以外にもあります。

それはLocalDateTimeです。LocalDateTimeはCalendarよりもさらに直感的に日付や時間を扱えます。

例えば、LocalDate.now()で現在の日付を取得でき、LocalTime.now()では現在の時間を取得できます。日付や時間を簡単に扱えるので、状況次第ではこちらを使用してもいいかもしれません。

まとめ

今回はKotlinでCalendarを使って現在の日付、曜日、時間を取得する方法について解説しました。いかがだったでしょうか。

Calendarは少ないコードで簡単に現在の日時を取得することができ、秒やAM/PMなども簡単に取得できるので、是非使ってみてください。また、他にもLocalDateTimeなど日付や時間を扱えるクラスはいくつかあるので、そちらの使用も検討してみるといいでしょう。

用途に応じて使い分けてみてください。

参考:
Calendar  |  Android Developers

以下の記事ではDatePickerDialogの実装方法を解説しています。
DatePickerDialogはユーザーが日付を選択するときに使う機能です。こちらの記事も併せてお読みください。

また、こちらの記事ではTimePickerDialogの実装方法を解説しています。
TimePickerDialogはアラームアプリなどでユーザーが時間を選択するときに使う機能です。併せてご覧ください。

コメント

タイトルとURLをコピーしました