【Kotlin/Android】YearMonthクラスの使い方!年月を表現するクラスと日数の取得方法

この記事からわかること

  • Android Studio/Kotlin年月表現するためのYearMonthクラス使い方
  • 日数取得する方法
  • 加算/減算比較など

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

環境

YearMonthクラス

Kotlin(Java)で定義されているYearMonth年月表現をするためのクラスです。このクラスを使用することでその月の日数の取得や加算/減算、比較などの操作が可能になっています。

YearMonthはJava 8から導入された日時APIに含まれているので全てのバージョンで使えるわけでないので注意してください。使用したい場合はJava 8が使用できるAPIレベルであるBuild.VERSION_CODES.O以降のバージョンでのみYearMonthクラスを使用し、それ以外でビルドされた時にコンパイルエラーが出るようにRequiresApiアノテーションを付与しておくと分岐などを実装せずにスムーズに記述することができるようになります。

@RequiresApi(Build.VERSION_CODES.O)

使い方

YearMonthオブジェクトをインスタンス化するにはofメソッドを使用します。引数には取得したい年月を渡します。

val yearMonth: YearMonth = YearMonth.of(2024, 4)

年と月を取得する

YearMonthオブジェクトではyear/monthプロパティからその年月の年と月の情報を取得することができます。ただmonthプロパティから取得できるのはMonth型なのでInt型で取得したい場合はmonthValueプロパティを使用します。

println(yearMonth.year) // 2024:Int型
println(yearMonth.month) // APRIL:Month型
println(yearMonth.monthValue) // 4:Int型

年と月の日数を取得する

YearMonthオブジェクトではlengthOfYear/lengthOfMonthメソッドを使用してその年月の日数を取得することができます。

println(yearMonth.lengthOfYear()) // 366
println(yearMonth.lengthOfMonth()) // 30

加算/減算

YearMonthオブジェクトではplusYearsminusMonthsメソッドを使用してその年月に対して指定の年数を加算/減算することができます。

println(yearMonth.plusYears(1)) // 2025-04
println(yearMonth.minusMonths(2)) // 2024-02

比較

YearMonthオブジェクトは比較可能になっているのでcompareToメソッドを使用してその年月同士の差を取得することができます。

val yearMonth1 = YearMonth.of(2024, 4)
val yearMonth2 = YearMonth.of(2020, 8)
    
val result = yearMonth1.compareTo(yearMonth2)
println(result) // 4

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index