如果想要取得系統(tǒng)的時(shí)間,可以使用System.currentTimeMillis()方法,例如:
DateDemo.java
1?public?class?DateDemo?{
2?????public?static?void?main(String[]args)?{
3???????? System.out.println(System.currentTimeMillis());
4???? }
5}
執(zhí)行結(jié)果會(huì)顯示從
1970年1月1日開(kāi)始到取得系統(tǒng)時(shí)間為止所經(jīng)過(guò)的毫秒數(shù),例如1115346430703這個(gè)數(shù)字,但這樣的數(shù)字沒(méi)有人確切了解它的意 義是什么,您可以使用Date類別來(lái)讓這個(gè)數(shù)字變的更有意義一些,例如:
DateDemo.java
import?java.util.Date;
public?class?DateDemo?{
????public?static?void?main(String[]args)?{
????????Date?date?=?new?Date();????????????????????
??????? System.out.println(date.toString());
????????System.out.println(date.getTime());
????}
}
執(zhí)行的結(jié)果如下:
? Fri May 06 10:31:13 GMT+08:00 2005
??1115346673531
當(dāng)您生成Date對(duì)象時(shí),實(shí)際上它會(huì)使用System.currentTimeMillis()來(lái)取得系統(tǒng)時(shí)間,而您使用
toString()方法時(shí),會(huì)將取得的
1970年1月1日至今的毫秒數(shù)轉(zhuǎn)為
dow mon dd hh:mm:ss zzz yyyy的格式,分別是:「星期 月 日 時(shí):分:秒 公元」;使用Date的
getTime()方法則可以取得毫秒數(shù)。
如果您想要對(duì)日期時(shí)間作格式設(shè)定,則可以使用DateFormat來(lái)作格式化,先來(lái)看看它的子類SimpleDateFormat如何使用:
DateDemo.java
???
import?java.text.DateFormat;
import?java.text.SimpleDateFormat;
import?java.util.Date;
public?class?DateDemo?{
????public?static?void?main(String[]args)?{
????????Date?date?=?new?Date();
????????DateFormat?dateFormat?=?new??SimpleDateFormat("EE-MM-dd-yyyy");
??????? System.out.println(dateFormat.format(date));
????}
}
執(zhí)行結(jié)果:
??
??星期
五-05-06-2005
DateFormat會(huì)依計(jì)算機(jī)上的區(qū)域設(shè)定顯示時(shí)間格式,EE表示星期,MM表示月份、dd表示日期,而yyyy是公元,每個(gè)字符的設(shè)定都各有其意義,您
可以參考
SimpleDateFormat
的API說(shuō)明了解每個(gè)字符設(shè)定的意義。
您也可以直接從DateFormat指定格式生成DateFormat的實(shí)例,例如:
DateDemo.java
???
import?java.text.DateFormat;
import?java.util.Date;
public?class?DateDemo?{
????public?static?void?main(String[]?args)?{
????????Date?date?=?new?Date();
??? ??? DateFormat?shortFormat?=??DateFormat.getDateTimeInstance(DateFormat.SHORT,
DateFormat.SHORT);
??????? DateFormat?mediumFormat?= DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);
??? ??? DateFormat?longFormat?= DateFormat.getDateTimeInstance(DateFormat.LONG,?DateFormat.LONG);
??????? DateFormat?fullFormat?= DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);
??????? System.out.println(shortFormat.format(date));
????????System.out.println(mediumFormat.format(date));
????????System.out.println(longFormat.format(date));
????????System.out.println(fullFormat.format(date));
????}
}
在使用
getDateTimeInstance()取得DateFormat實(shí)例時(shí),可以指定的參數(shù)是日期格式與時(shí)間格式,以上所指定的格式依訊息詳細(xì)度 區(qū)分,執(zhí)行結(jié)果如下:
?? 2005/5/6 上午 10:45 2005/5/6 上午 10:45:25 2005年5月6日 上午10時(shí)45分25秒 2005年5月6日 星期五 上午10時(shí)45分25秒 GMT+08:00
?? |
您也可以使用getDateInstance()取得DateFormat實(shí) 例,并同時(shí)指定日期的區(qū)域顯示方式,例如:
DateDemo.java
import?java.text.DateFormat;
import?java.util.Date;
import?java.util.Locale;
public?class?DateDemo?{
????public?static?void?main(String[]?args)?{
????????Date?date?=?new?Date();
????????Locale?locale?=?new?Locale("en",?"US");
????????DateFormat?shortFormat?=? DateFormat.getDateInstance(DateFormat.SHORT,locale);
????????DateFormat?mediumFormat?=?DateFormat.getDateInstance(????????????????DateFormat.MEDIUM,locale);
????????DateFormat?longFormat?= DateFormat.getDateInstance(DateFormat.LONG,?locale);
????????DateFormat?fullFormat?= DateFormat.getDateInstance(DateFormat.FULL,?locale);
??? ??? System.out.println(shortFormat.format(date));
??? ??? System.out.println(mediumFormat.format(date));
??? ??? System.out.println(longFormat.format(date));
??? ??? System.out.println(fullFormat.format(date));
????}
}
這邊指定了美國(guó)的時(shí)間顯示方式,執(zhí)行結(jié)果如下:
?
5/6/05
??May 6, 2005
??May 6, 2005
??Friday, May 6, 2005