C/C++プログラマの管理者が, Androidプログラムにチャレンジ. AndroidプログラミングのTipsをメモっていく予定です.

現在の日時を取得する方法はいくつかある.
ここでは, 3種類の方法を紹介する.



Timeクラスの利用

android.text.format.Timeクラスを利用することで, 現在の日時を取得することができる.
  • Date01.java
    • Timeクラスのインスタンスを生成する.
    • Timer#setToNowメソッドで, 現在の日時を取得する.
package com.moonlight_aska.android.date01;

import android.app.Activity;
import android.os.Bundle;
import android.text.format.Time;
import android.widget.TextView;

public class Date01 extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TextView dateText = (TextView)findViewById(R.id.date_id);
    Time time = new Time("Asia/Tokyo");
    time.setToNow();
    String date = time.year + "年" + (time.month+1) + "月" + time.monthDay + "日 "
            time.hour + "時" + time.minute + "分" + time.second + "秒";
    dateText.setText(date);
  }
}

Dateクラスの利用

java.util.Dateクラスを利用することで, 現在の日時を取得することができる.
また, java.text,SimpleDateFormatを利用することで, 取得した日時を表示用に整形することができる.
  • Date02.java
    • Dateクラスのインスタンスを生成する.
    • 引数に書式を指定して, SimpleDateFormatクラスのインスタンスを生成する.
    • SimpleDateFormat#formatメソッドで, 文字列に変換する.
package com.moonlight_aska.android.date02;

import java.text.SimpleDateFormat;
import java.util.Date;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Date02 extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TextView dateText = (TextView)findViewById(R.id.date_id);
    // 現在の時刻を取得
    Date date = new Date();
    // 表示形式を設定
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy'年'MM'月'dd'日' kk'時'mm'分'ss'秒'");
    dateText.setText(sdf.format(date));
  }
}

Calendarクラスの利用

java.util.Calendarクラスを利用することで, 現在の日時を取得することができる.
  • Date03.java
    • Calendarクラスのインスタンスを生成する.
    • Calendar#getメソッドの引数に取得したい項目を設定して, 値を取得する.
package com.moonlight_aska.android.date03;

import java.util.Calendar;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Date03 extends Activity {
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    TextView dateText = (TextView)findViewById(R.id.date_id);
    Calendar cal = Calendar.getInstance();
    int year = cal.get(Calendar.YEAR);
    int month = cal.get(Calendar.MONTH);   // 0 - 11
    int day = cal.get(Calendar.DAY_OF_MONTH);
    int hour = cal.get(Calendar.HOUR_OF_DAY);
    int minute = cal.get(Calendar.MINUTE);
    int second = cal.get(Calendar.SECOND);
    String date = year + "年" + (month+1) + "月" + day + "日 "
            + hour + "時" + minute + "分" + second + "秒";
    dateText.setText(date);
  }
}



コメントをかく


ユーザーIDでかく場合はこちら
「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu


逆引き(基礎編)

画面表示/操作(49)

フラグメント(1)

逆引き(応用編)

AD



管理人のみ編集できます