Kotlinで日付の計算(加算・減産)を行うことが多いのでメモ。
日付の加算・減算
現在日付の1日前を計算する
val cal = Calendar.getInstance() # Calendarのインスタンスを生成
cal.time = Date() # 現在日付をDate型→Calendar型に変換
cal.add(Calendar.DATE,-1) # この例では1日前を計算しています
val date1: Date = cal.time # Calendar型→Date型に変換
いちいち、Calendar型 ⇔ Date型を行き来するのが面倒ですね。。。
add関数ですが、第一引数で何に対して加算・減算するか指定します。
例だと、Calendar.DATEなので、日付に対して。
他には、、、
Calendar.YEAR Calendar.MONTH Calendar.DATE Calendar.HOUR_OF_DAY Calendar.MINUTE Calendar.SECOND
などが、指定可能です。
addの第2引数で渡すパラメータですが、今回は-1しているので、1日前。一日後であれば、1を入力してもらえれば大丈夫です。
関数化して使いまわす
日付計算を複数個所でするなら、関数化して使いまわすのが便利です。
fun calcDate(date: Date,intervalNum: Int):Date{
val cal = Calendar.getInstance()
cal.time = date
cal.add(Calendar.DATE,intervalNum)
return cal.time
}
第1引数でDate型を、それに対して加減算する日数を第2引数で指定。
計算後の日付をDate型で返します。
XP-Pen
¥6,980 (2024/11/24 13:42時点 | Amazon調べ)