この記事では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_DAYとCalendar.HOURを使います。
Calendar.HOUR_OF_DAYとCalendar.HOURはどちらも時間を取得するコードですが、取得した時間を返すフォーマットが違います。
Calendar.HOUR_OF_DAYは24時間表記、Calendar.HOURは12時間表記で時間を返します。
例えばCalendarで取得した時刻が午後8時のとき、Calendar.HOUR_OF_DAYでは20、Calendar.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はアラームアプリなどでユーザーが時間を選択するときに使う機能です。併せてご覧ください。



コメント