TemporalAdjusters
Date-Time APIのTemporalAdjusters
を使うと、日付オブジェクトをお手軽に変換できる。
LocalDate
のインスタンスメソッドwith
にTemporalAdjusters
を渡す。
date.with(TemporalAdjusters.xxx()) // xxxで指定したメソッドに応じた日付が返る
xxxはさまざまなメソッドが用意されており、APIドキュメントから確認できる。
≫ TemporalAdjusters (Java Platform SE 8)
TemporalAdjustersの使用例
月末の日付を取得する
Kotlinで月末の日付を取得するには、TemporalAdjusters.lastDayOfMonth()
を渡す。
import java.time.LocalDate
import java.time.temporal.TemporalAdjusters
fun main() {
val date = LocalDate.now()
val lastDayOfMonth = date.with(TemporalAdjusters.lastDayOfMonth())
println(lastDayOfMonth)
}
月初の日付を取得する
TemporalAdjusters.firstDayOfMonth()
を渡すと月初の日付を取得できる。
import java.time.LocalDate
import java.time.temporal.TemporalAdjusters
fun main() {
val date = LocalDate.now()
val firstDayOfMonth = date.with(TemporalAdjusters.firstDayOfMonth())
println(firstDayOfMonth)
}
翌月の最初の日を見つける
TemporalAdjusters.firstDayOfNextMonth()
を渡すと翌月の最初の日を取得できる。
import java.time.LocalDate
import java.time.temporal.TemporalAdjusters
fun main() {
val date = LocalDate.now()
val firstDayOfNextMonth = date.with(TemporalAdjusters.firstDayOfNextMonth())
println(firstDayOfNextMonth)
}
その年の最後の日を見つける
TemporalAdjusters.lastDayOfYear()
を渡すとその年の最後の日を取得できる。
import java.time.LocalDate
import java.time.temporal.TemporalAdjusters
fun main() {
val date = LocalDate.now()
val lastDayOfYear = date.with(TemporalAdjusters.lastDayOfYear())
println(lastDayOfYear)
}
翌年の最初の日を見つける
TemporalAdjusters.firstDayOfNextYear()
を渡すと翌年の最初の日を取得できる。
import java.time.LocalDate
import java.time.temporal.TemporalAdjusters
fun main() {
val date = LocalDate.now()
val firstDayOfNextYear = date.with(TemporalAdjusters.firstDayOfNextYear())
println(firstDayOfNextYear)
}
月内の最初の月曜日を見つける
TemporalAdjusters.firstInMonth(DayOfWeek)
を渡すと翌年の最初の日を取得できる。
import java.time.DayOfWeek
import java.time.LocalDate
import java.time.temporal.TemporalAdjusters
fun main() {
val date = LocalDate.now()
val firstMonday = date.with(TemporalAdjusters.firstInMonth(DayOfWeek.MONDAY))
println(firstMonday)
}
次の月曜日を見つける
TemporalAdjusters.next(DayOfWeek)
を渡すと次の月曜日を取得できる。
import java.time.DayOfWeek
import java.time.LocalDate
import java.time.temporal.TemporalAdjusters
fun main() {
val date = LocalDate.now()
val nextMonday = date.with(TemporalAdjusters.next(DayOfWeek.MONDAY))
println(nextMonday)
}
\確かな知識を身に着けたい、Androidアプリ開発を学びたい人にオススメ!/