日曆分析(一) java中的日期類

java中有關日期


1.Date類,該類是一個包裹類(就是把一個基本數據類型變爲一個對象來使用,如同Integer類包裹一個int基本數據),Date包裹的是一個長整型long數據.
Date date = new Date();
構造參數爲空,則調用的是
public Date() 
	{
		this(System.currentTimeMillis());
	}
返回從GMT(格林尼治標準時間)1970年, 1 月 1日00:00:00這一刻之前或者是之後經歷的毫秒數.
long date_ms=date.getTime();//獲取的爲毫秒數

2.SimpleDateFormat類,格式化和解析日期的具體類
SimpleDateFormat yf=new SimpleDateFormat("MM-dd-yyyy");
向構造方法傳遞想要獲取的格式即可
參數可以爲如下:
G:年代標識,表示是公元前還是公元后
y:年份
M:月份
d:日
h:小時,從1到12,分上下午
H:小時,從0到23
m:分鐘
s:秒
S:毫秒
E:一週中的第幾天,對應星期幾,第一天爲星期日,於此類推
z:時區
D:一年中的第幾天
F:這一天所對應的星期幾在該月中是第幾次出現
w:一年中的第幾個星期
W:一個月中的第幾個星期
a:上午/下午標識
k:小時,從1到24
K:小時,從0到11,區分上下午


3.Calendar類(抽象類,不能實例化),提供設置時間,返回一些日期分量的類
得到對象,也可以用其他的實現
Calendar c=Calendar.getInstance();
比較有用的幾個方法(其他方法參看相關文檔)是:
boolean isLearYear(int year)//判斷year是否爲閏年
boolean after(Object when)//調用對象所包含的日期晚於when指定的日期,類似的還有before,equals方法
final int get(int field)//返回調用對象的一個分量,field可以爲Calendar.YEAR,Calendar.MONTH,Calendar.MINUTE,Calendar.DAY_OF_WEEK
注意返回的值如月和星期都是從0開始的
獲得星期幾可以用這個方法,也可以計算得出,公式(y,m爲年月,int型)爲:
if (m == 1) m=13;
else if (m == 2) m=14;
int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7 + 1;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章