内容
注意点は
Androidバージョンで日時を取得する方法が違うこと
fun isAvailable(): Boolean {
// 期限を設定
val periodDateText = "2030/01/01 23:59:59 Asia/Tokyo"
// Android26以降はZonedDateTimeが推奨されている為、26以降以降はZonedDateTime、25以前はDateで現在日時・時刻を取得
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
val formatPattern = "yyyy/MM/dd HH:mm:ss VV"
val nowTimeDate = ZonedDateTime.now()
val periodDate = ZonedDateTime.parse(
periodDateText,
DateTimeFormatter.ofPattern(formatPattern)
)
nowTimeDate.isBefore(periodDate)
} else {
val formatPattern = "yyyy/MM/dd HH:mm:ss"
val nowTimeDate = Calendar.getInstance(Locale("ja", "JP", "JP")).time
val periodDate = SimpleDateFormat(formatPattern, Locale.JAPAN).parse(periodDateText)
nowTimeDate.before(periodDate)
}
}