1
1

More than 1 year has passed since last update.

【Android Kotlin】Calendarクラスを使用して今日の曜日を取得する

Last updated at Posted at 2021-08-29

1. 今日の曜日を取得する

MainActivity.kt
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        // Calendarクラスをインスタンス化する.
        val calendar: Calendar = Calendar.getInstance()
        // 今日の曜日を取得する.
        val day: Int = calendar.get(Calendar.DAY_OF_WEEK)

    }
}

2. 取得した今日の曜日を TextView で表示する

MainActivity.kt
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        ~ 省略 ~

        // レイアウトのtext_viewをTextViewという変数で扱う.
        val textView: TextView = findViewById(R.id.text_view)

        // dayの値によって表示する曜日を変える.
        if (day == Calendar.SUNDAY) {
            textView.text = "日曜日"
        } else if (day == Calendar.MONDAY) {
            textView.text = "月曜日"
        } else if (day == Calendar.TUESDAY) {
            textView.text = "火曜日"
        } else if (day == Calendar.WEDNESDAY) {
            textView.text = "水曜日"
        } else if (day == Calendar.THURSDAY) {
            textView.text = "木曜日"
        } else if (day == Calendar.FRIDAY) {
            textView.text = "金曜日"
        } else if (day == Calendar.SATURDAY) {
            textView.text = "土曜日"
        }

    }
}

補足: if 式の代わりに when 式を使った方が簡潔!

MainActivity.kt
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        ~ 省略 ~

        // dayの値によって表示する曜日を変える.
        when (day) {
            Calendar.SUNDAY -> textView.text = "日曜日"
            Calendar.MONDAY -> textView.text = "月曜日"
            Calendar.TUESDAY -> textView.text = "火曜日"
            Calendar.WEDNESDAY -> textView.text = "水曜日"
            Calendar.THURSDAY -> textView.text = "木曜日"
            Calendar.FRIDAY -> textView.text = "金曜日"
            Calendar.SATURDAY -> textView.text = "土曜日"
        }

    }
}

when 式は文字通りなので,以下のように評価結果をそのまま変数に代入できる.

MainActivity.kt
        textView.text = when (day) {
            Calendar.SUNDAY -> "日曜日"
            Calendar.MONDAY -> "月曜日"
            Calendar.TUESDAY -> "火曜日"
            Calendar.WEDNESDAY -> "水曜日"
            Calendar.THURSDAY -> "木曜日"
            Calendar.FRIDAY -> "金曜日"
            Calendar.SATURDAY -> "土曜日"
            else -> "該当無し"
        }
1
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1