2000年3月30日星期四

日時に関する情報を取得する

説明
AM_PMHOUR が正午より前であるか後であるかを示します。
DATE月の日を示します。
DAY_OF_MONTH月の日を示します。
DAY_OF_WEEK曜日を示します。
DAY_OF_WEEK_IN_MONTH現在の月の何度目の曜日かを示します。
DAY_OF_YEAR現在の年の何日目かを示します。
DST_OFFSET夏時間のオフセットをミリ秒単位で示します。
ERAユリウス暦の AD または BC などの年代を示します。
HOUR午前または午後の何時かを示します。
HOUR_OF_DAY時刻を示します。
MILLISECONDミリ秒を示します。
MINUTE分を示します。
MONTH月を示すフィールド値です。
SECOND秒を示します。
WEEK_OF_MONTH現在の月の何週目かを示します。
WEEK_OF_YEAR現在の年の何週目かを示します。
YEAR年を示すフィールド値です。
ZONE_OFFSETGMT から直接計算したオフセットをミリ秒単位で示します。

MONTHの値は0から11で、JANUARY(0), FEBRUARY(1), MARCH(2), APRIL(3), MAY(4), JUNE(5), JULY(6), AUGUST(7), SEPTEMBER(8), OCTOBER(9), NOVEMBER(10), DECEMBER(11)になります。

HOURは12 時間制 (0 ~ 11) です。正午および真夜中は、12 ではなく 0 で表されます。

DAY_OF_WEEKの値は1から7で、SUNDAY(1)、MONDAY(2)、TUESDAY(3)、WEDNESDAY(4)、THURSDAY(5)、FRIDAY(6)、および SATURDAY(7) になります。

AM_PMの値は0か1で、AM(0)、PMY(1) になります。

import java.util.Calendar;

class testCalendar1{
  public static void main(String args[]){
    String[] week_name = {"日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"};

    Calendar calendar = Calendar.getInstance();

    int year = calendar.get(Calendar.YEAR);
    int month = calendar.get(Calendar.MONTH) + 1;
    int day = calendar.get(Calendar.DATE);
    int hour = calendar.get(Calendar.HOUR_OF_DAY);
    int minute = calendar.get(Calendar.MINUTE);
    int second = calendar.get(Calendar.SECOND);
    int week = calendar.get(Calendar.DAY_OF_WEEK) - 1;

    int day_of_year = calendar.get(Calendar.DAY_OF_YEAR);

    System.out.println("現在の日時は");
    System.out.println(year + "年" + month + "月" + day + "日");
    System.out.println("(" + week_name[week] + ")");
    System.out.println(hour + "時" + minute + "分" + second + "秒");

    System.out.println("今日は今年の" + day_of_year + "日目です");
  }
}

現在の日付は
2006年5月5日
(金曜日)
6時3分13秒
今日は今年の125日目です


import java.util.Calendar;
import java.text.SimpleDateFormat;

public class SimpleDateFormatSample {
    public static void main(String args[]) {

        //現在日時を取得する
        Calendar c = Calendar.getInstance();

        //フォーマットパターンを指定して表示する
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 E曜日");
        System.out.println(sdf.format(c.getTime()));

        //フォーマットパターン変更して表示する
        sdf.applyPattern("a hh:mm:ss SSS");
        System.out.println(sdf.format(c.getTime()));

    }
}


2011年08月30日 火曜日
午後 01:51:52 651


SimpleDateFormatクラス 主要コンストラクタ


SimpleDateFormat()デフォルトパターンにて生成する(yy/MM/dd H:mm)
SimpleDateFormat(String p)パターンを指定して生成する

主要メソッド


戻値型 メソッド 説明
void applyPattern(String pattern)パターンを指定する
String toPattern()フォーマットパターンを返す
String format(Date d)引数の日付をフォーマットする

日付パターン


文字意味
yy西暦年(2桁)2012年→2012
yyyy西暦年(4桁)2012年→12
M8月→8
MM月(ゼロ埋め)8月→08
D年に対する日1月9日→9
DDD年に対する日(ゼロ埋め)1月9日→009
d月に対する日3日→3
dd月に対する日(ゼロ埋め)3日→03
w年に対する週2011年8月30日→36(2011年の36週目)
W月に対する週2011年8月30日→5(2011年8月の5週目)
E曜日2011年8月30日→火
F月に対する曜日番号2011年8月30日(火)
 →5(2011年8月の5回目の火曜日)
a午前午後13:00→午後
h時(12時間制)13時→1
hh時(12時間制ゼロ埋め)13時→01
H時(24時間制)3時→3
HH時(24時間制ゼロ埋め)3時→03
m3分→3
mm分(ゼロ埋め)3分→03
s3秒→3
ss秒(ゼロ埋め)3秒→03
Sミリ秒3ミリ秒→3
SSSミリ秒(ゼロ埋め)3ミリ秒→003

日付パターンと出力例のサンプル


(パターン)"yyyy/MM/dd" → (出力例)2011/08/31

(パターン)"HH:mm:ss" → (出力例)14:53:02

(パターン)"HH:mm:ss S" → (出力例)15:52:30 280

(パターン)"E曜日" → (出力例)水曜日

(パターン)"ah時m分" → (出力例)午後2時55分

没有评论:

发表评论