JAva日付時間小処理
6556 ワード
Javaの開発の過程で、時間をタイムスタンプに変換したり、タイムスタンプを時間に変換したりするなど、時間に対する処理によく遭遇します.次にjavaのいくつかの日付処理クラスを見てみましょう.
new Date(); //現在の日付と時刻をカプセル化
new SimpleDateFormat(); //日付と時刻のフォーマット変換をカプセル化
Calendar (Calendar.getInstance()); //日付時間の特定部分の処理がカプセル化されています
TimeZone; //現在のタイムゾーンの取得と設定
コードを入力する前に、日付時刻の出力フォーマットを見てみましょう.
文字
説明
例
G
紀元マーク
AD
y
四桁の年
2001
M
月
July or 07
d
1か月の日付
10
h
A.M./P.M.(1~12)形式時間
12
H
1日中の時間(0~23)
22
m
分
30
s
秒数
55
S
ミリ秒数
234
E
曜日
Tuesday
D
一年の日
360
F
月の第数週の曜日
2 (second Wed. in July)
w
1年の最初の週
40
W
1か月の最初の週
1
a
A.M./P.M.タグ
PM
k
1日中の時間(1~24)
24
K
A.M./P.M.(0~11)フォーマット時間
10
z
タイムゾーン
Eastern Standard Time
'
テキストデリミタ
Delimiter
"
一重引用符
`
具体的な呼び出しを見てみましょう.
new Date(); //現在の日付と時刻をカプセル化
new SimpleDateFormat(); //日付と時刻のフォーマット変換をカプセル化
Calendar (Calendar.getInstance()); //日付時間の特定部分の処理がカプセル化されています
TimeZone; //現在のタイムゾーンの取得と設定
コードを入力する前に、日付時刻の出力フォーマットを見てみましょう.
文字
説明
例
G
紀元マーク
AD
y
四桁の年
2001
M
月
July or 07
d
1か月の日付
10
h
A.M./P.M.(1~12)形式時間
12
H
1日中の時間(0~23)
22
m
分
30
s
秒数
55
S
ミリ秒数
234
E
曜日
Tuesday
D
一年の日
360
F
月の第数週の曜日
2 (second Wed. in July)
w
1年の最初の週
40
W
1か月の最初の週
1
a
A.M./P.M.タグ
PM
k
1日中の時間(1~24)
24
K
A.M./P.M.(0~11)フォーマット時間
10
z
タイムゾーン
Eastern Standard Time
'
テキストデリミタ
Delimiter
"
一重引用符
`
具体的な呼び出しを見てみましょう.
import java.sql.Time;
import java.text.SimpleDateFormat;
import java.util.*;
public class Main {
public static void main(String[] args) {
System.out.println("------------------ -------------------");
/**
* Date() ,
* :
*
* Thu Mar 01 19:20:59 CST 2018
*/
Date date = new Date();
long time = date.getTime();
System.out.println(" :" + date);
System.out.println(" :" + time + ", ");
System.out.println(" :" + date.getTime()/1000 + ", ");
System.out.println(" :" + TimeZone.getDefault());
System.out.println(" :" + SimpleTimeZone.getDefault());
// :
// :Fri Mar 02 10:04:28 CST 2018
// :1519956268975,
// :1519956268,
// :sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
// :sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
System.out.println("------------------- ------------------");
/**
*
*/
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(" :" + simpleDateFormat.format(date));
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(" :" + simpleDateFormat1.format(date));
// :
// :2018-03-02 10:04:28
// :2018-03-02
System.out.println("---------------- ---------------------");
/**
* Date() CST
*
*/
TimeZone NYZone = TimeZone.getTimeZone("America/New_York");
TimeZone SHZone = TimeZone.getTimeZone("Asia/Shanghai");
//
simpleDateFormat.setTimeZone(NYZone);
// 13
System.out.println(" :" + simpleDateFormat.format(date));
simpleDateFormat.setTimeZone(SHZone);
System.out.println(" :" + simpleDateFormat.format(date));
// :
// Date() :Thu Mar 01 19:50:27 CST 2018
// Date() :Fri Mar 02 10:04:29 CST 2018
System.out.println("---------------- ---------------------");
long secondTimestamp = 1519905027;
long milliTimes = System.currentTimeMillis();
System.out.println(" Date() :" + new Date(secondTimestamp*1000));
System.out.println(" Date() :" + new Date(milliTimes));
// :
// :2018-03-01 21:04:28
// :2018-03-02 10:04:28
System.out.println("---------------- ---------------------");
System.out.println(" :" + date);
System.out.println(" :" + simpleDateFormat.format(date));
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
//
calendar.add(Calendar.HOUR_OF_DAY, -1);
System.out.println(" :" + simpleDateFormat.format(calendar.getTime()));
//
calendar.add(Calendar.DAY_OF_MONTH, -1);
System.out.println(" :" + simpleDateFormat.format(calendar.getTime()));
//
calendar.add(Calendar.MONTH, -1);
System.out.println(" :" + simpleDateFormat.format(calendar.getTime()));
//
calendar.add(Calendar.WEEK_OF_MONTH, -2);
System.out.println(" :" + simpleDateFormat.format(calendar.getTime()));
// :
// :Fri Mar 02 10:04:28 CST 2018
// :2018-03-02 10:04:28
// :2018-03-02 09:04:28
// :2018-03-01 09:04:28
// :2018-02-01 09:04:28
// :2018-01-18 09:04:28
System.out.println("---------------- ---------------------");
Calendar calendar1 = Calendar.getInstance();
calendar1.add(Calendar.WEEK_OF_MONTH, -1);
System.out.println(" :" + calendar1.get(Calendar.YEAR));
System.out.println(" :" + calendar1.get(Calendar.MONTH));
System.out.println(" :" + calendar1.get(Calendar.DAY_OF_MONTH));
System.out.println(" :" + calendar1.get(Calendar.DAY_OF_YEAR));
System.out.println(" :" + calendar1.get(Calendar.DAY_OF_WEEK));
System.out.println(" :" + calendar1.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println(" :" + calendar1.get(Calendar.HOUR_OF_DAY));
System.out.println(" :" + calendar1.get(Calendar.MINUTE));
System.out.println(" :" + calendar1.get(Calendar.SECOND));
// :
// :2018
// :1
// :23
// :54
// :6
// :4
// :10
// :4
// :29
}
}