Goodroid

GoodroidはAndroidアプリ開発のための情報をコラムやブログで紹介するサイトです。


現在の時刻を取得する
ここでは現在の時刻を取得する方法を確認していきます。

現在の時刻を取得するためには「 Calendar 」クラスを用います。
「 calendar.get(Calendar.SECOND) 」のようにgetメソッドで取得できるものは以下の表のとおりです。

定数 説明
int AM 午前を表すフィールド値
int PM 午後を表すフィールド値
int AM_PM 午前か午後かを表す値
int HOUR_OF_DAY 24時間単位での時間を表すフィールド値
int HOUR 12時間単位での時間を表すフィールド値
int MINUTE 分を表すフィールド値
int SECOND 秒を表すフィールド値
int MILLISECOND ミリ秒を表すフィールド値
int DST_OFFSET 夏時間のオフセットをミリ行単位で表すフィールド値
int ZONE_OFFSET GMTから直接計算したオフセットで表すフィールド値

TimeActivity.java
package goodroid.sample.time;

import java.util.Calendar;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

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

	Calendar calendar = Calendar.getInstance();

	// 0:AM, 1:PMの取得
	String am_pm = null;
     switch(calendar.get(Calendar.AM_PM)){
	case 0:
	    am_pm = "AM";
	    break;
	case 1:
	    am_pm = "PM";
  	    break;
	}

	// 時間の取得(24時間単位)
	int hour = calendar.get(Calendar.HOUR_OF_DAY);

	// 分の取得
	int min = calendar.get(Calendar.MINUTE);

	// 秒の取得
	int sec = calendar.get(Calendar.SECOND);

	// ミリ秒の取得
	int msec = calendar.get(Calendar.MILLISECOND);

	TextView text = (TextView)findViewById(R.id.text);
	text.setText("現在時刻:\n" + am_pm + " " + hour + 
        ":" + min + ":" + sec + "." + msec);
    }
}

main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

AM, PM(午前、午後)の取得は「 calendar.get(Calendar.AM_PM) 」で行い、switch文で0のときはAM、1のときはPMのように対応する文字列を取得しています。

実行結果

4247 views | コメント:0 | 2012-06-19
コメント
まだこの記事にコメントはありません
コメントの投稿
名前 (必須)

メールアドレス (非公開)

本文(必須)

パスワード (必須)
(半角数字4桁)