Android
 Computer >> コンピューター >  >> プログラミング >> Android

【Kotlin入門】Androidで日付と時刻をフォーマットする方法をサンプルコード付きで解説

この記事では、Kotlinを使ってAndroidアプリで日付と時刻をフォーマットする方法を、実際に動作するサンプルコードとともに詳しく解説します。

実装の全体像

今回作成するのは、現在の日付と時刻を「曜日, 日-月-年 時-分-秒 午前/午後」という形式で画面に表示するシンプルなアプリです。Java標準の SimpleDateFormat クラスを利用することで、任意のパターンで日時を文字列へ変換できます。

ステップ1:新規プロジェクトの作成

Android Studioを起動し、メニューから [File] → [New Project] を選択します。必要な項目をすべて入力して、新しいプロジェクトを作成してください。

ステップ2:レイアウトファイルの編集

res/layout/activity_main.xml に以下のコードを追加します。画面中央に日時を表示するための TextView を配置しています。

コード例

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="50dp"
    android:text="Tutorials Point"
    android:textAlignment="center"
    android:textColor="@android:color/holo_green_dark"
    android:textSize="32sp"
    android:textStyle="bold" />
<TextView
    android:textColor="@android:color/black"
    android:id="@+id/textView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:textAlignment="center"
    android:textSize="16sp"
    android:textStyle="bold|italic" />
</RelativeLayout>

ステップ3:MainActivity.kt の実装

src/MainActivity.kt に以下のコードを追加します。Calendar.getInstance() で現在日時を取得し、SimpleDateFormat で指定したパターンに整形して TextView に表示しています。

import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import java.text.SimpleDateFormat
import java.util.*
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"
        val textView: TextView = findViewById(R.id.textView)
        val calendar: Calendar = Calendar.getInstance()
        val simpleDateFormat = SimpleDateFormat("EEEE, dd-MMM-yyyy hh-mm-ss a")
        val dateTime = simpleDateFormat.format(calendar.time)
        textView.text = dateTime
    }
}

SimpleDateFormatのパターン一覧

今回使用した書式パターン「EEEE, dd-MMM-yyyy hh-mm-ss a」の各要素は、それぞれ以下のような意味を持っています。

  • EEEE:曜日のフルネーム(例:Monday / 月曜日)
  • dd:日にち(2桁表示)
  • MMM:月の省略形(例:Mar)
  • yyyy:西暦4桁
  • hh:時間(12時間制)
  • mm:分
  • ss:秒
  • a:午前/午後(AM/PM)マーカー

なお、APIレベル26以降を対象とする場合は、よりスレッドセーフで推奨される java.time パッケージの DateTimeFormatter を使う方法もあります。既存プロジェクトとの互換性を考慮する場合は、本記事のように SimpleDateFormat を利用するのが手軽です。

ステップ4:AndroidManifest.xml の編集

androidManifest.xml に以下のコードを追加します。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="com.example.q11">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

アプリの実行と動作確認

それでは、アプリケーションを実行してみましょう。ここでは、実際のAndroidスマートフォンがパソコンに接続されているものとします。Android Studioからアプリを実行するには、プロジェクト内のアクティビティファイルを開き、ツールバーにある実行アイコン【Kotlin入門】Androidで日付と時刻をフォーマットする方法をサンプルコード付きで解説をクリックします。表示された候補から接続済みのモバイルデバイスを選択すると、端末の画面上にフォーマットされた日付と時刻が表示されます。

【Kotlin入門】Androidで日付と時刻をフォーマットする方法をサンプルコード付きで解説

  1. 【Android開発】日付と時刻をフォーマットして表示する方法をわかりやすく解説

    はじめに このチュートリアルでは、Androidアプリで日付と時刻をフォーマットして画面に表示する方法を、実際のコード例とともに段階的に解説します。JavaのSimpleDateFormatクラスを使えば、曜日や年月日、時分秒などを自由な形式で表示できます。 手順1:新しいプロジェクトを作成する まず、Android Studioで新しいプロジェクトを作成します。メニューから「File → New Project」を選択し、必要な項目を入力してプロジェクトを作成してください。 手順2:レイアウトファイル(activity_main.xml)を編集する 次に、res/layout/activ

  2. Androidでミリ秒を日付形式に変換する方法【サンプルコード付き】

    この記事では、Androidアプリ開発においてミリ秒(long型のタイムスタンプ)を日付形式に変換する方法を、実際のサンプルコードとともに解説します。ミリ秒から日付への変換には、Java標準のSimpleDateFormatクラスを使用します。非常にシンプルな実装なので、初心者の方でもすぐに理解できるでしょう。実装手順ステップ1:新規プロジェクトを作成するAndroid Studioを開き、「File」⇒「New Project」を選択して新しいプロジェクトを作成します。必要な項目をすべて入力してプロジェクトのセットアップを完了させてください。ステップ2:レイアウトファイル(activity_