|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
认真的记,感觉很紧张根本就没有时间和能力,来对技术知识点进行思考。这样课下就只能对知识进行简单的理解,其实简单的理解就是记忆课堂上讲的知识点,
Date类从Java开辟包(JDK)1.0就入手下手退化,事先它只包括了几个获得大概设置一个日期数据的各个部分的办法,好比说月,日,和年。这些办法如今遭到了品评而且已被转移到了Calendar类里往了,我们将在本文中进一步会商它。
这类改善旨在更好的处置日期数据的国际化格局.就象在JDK1.1中一样,Date类实践上只是一个包裹类,它包括的是一个长整型数据,暗示的是从GMT(格林尼治本定时间)1970年,1月1日00:00:00这一刻之前大概是以后履历的毫秒数。
创立一个日期对象
让我们看一个利用体系确当前日期和工夫创立一个日期对象并前往一个长整数的复杂例子.这个工夫一般被称为Java假造机(JVM)主机情况的体系工夫.
importjava.util.Date;
publicclassDateExample1{
publicstaticvoidmain(String[]args){//本人交换[]
//Getthesystemdate/time
Datedate=newDate();
System.out.println(date.getTime());
}
}
在礼拜六,2001年9月29日,下战书约莫是6:50的模样,下面的例子在体系输入设备上显现的了局是1001803809710.在这个例子中,值得注重的是我们利用了Date机关函数创立一个日期对象,这个机关函数没有承受任何参数.而这个机关函数在外部利用了System.currentTimeMillis()办法来从体系猎取日期。
那末,如今我们已晓得了怎样猎取从1970年1月1日入手下手履历的毫秒数了.我们怎样才干以一种用户分明的格局来显现这个日期呢?在这里类java.text.SimpleDateFormat和它的笼统基类java.text.DateFormat就派得上用处了.
日期数据的定制格局
假设我们但愿定制日期数据的格局,例如礼拜六-9月-29日-2001年.上面的例子展现了怎样完成这个事情:
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassDateExample2{
publicstaticvoidmain(String[]args){//本人交换[]
SimpleDateFormatbartDateFormat=newSimpleDateFormat("EEEE-MMMM-dd-yyyy");
Datedate=newDate();
System.out.println(bartDateFormat.format(date));
}
}
只需经由过程向SimpleDateFormat的机关函数传送格局字符串"EEE-MMMM-dd-yyyy",我们就可以够指明本人想要的格局.你应当能够瞥见,格局字符串中的ASCII字符告知格局化函数上面显现日期数据的哪个部分.EEEE是礼拜,MMMM是月,dd是日,yyyy是年.字符的个数决意了日期是怎样格局化的.传送"EE-MM-dd-yy"会显现Sat-09-29-01.请观察Sun公司的Web站点猎取日期格局化选项的完全的唆使.
将文本数据剖析成日期对象
假定我们有一个文本字符串包括了一个格局化了的日期对象,而我们但愿剖析这个字符串并从文今天期数据创立一个日期对象.我们将再次以格局化字符串"MM-dd-yyyy"挪用SimpleDateFormat类,可是这一次,我们利用格局化剖析而不是天生一个文今天期数据.我们的例子,显现鄙人面,将剖析文本字符串"9-29-2001"并创立一个值为001736000000的日期对象.
例子程序:
importjava.text.SimpleDateFormat;
importjava.util.Date;
publicclassDateExample3{
publicstaticvoidmain(String[]args){//本人交换[]
//Createadateformatterthatcanparsedatesof
//theformMM-dd-yyyy.
SimpleDateFormatbartDateFormat=newSimpleDateFormat("MM-dd-yyyy");
//Createastringcontainingatextdatetobeparsed.
StringdateStringToParse="9-29-2001";
try{
//Parsethetextversionofthedate.
//Wehavetoperformtheparsemethodina
//try-catchconstructincasedateStringToParse
//doesnotcontainadateintheformatweareexpecting.
Datedate=bartDateFormat.parse(dateStringToParse);
//Nowsendtheparseddateasalongvalue
//tothesystemoutput.
System.out.println(date.getTime());
}
catch(Exceptionex){
System.out.println(ex.getMessage());
}
}
}
利用尺度的日期格局化历程
既然我们已能够天生息争析定制的日期格局了,让我们来看一看怎样利用内建的格局化历程.办法DateFormat.getDateTimeInstance()让我们得以用几种分歧的办法取得尺度的日期格局化历程.鄙人面的例子中,我们猎取了四个内建的日期格局化历程.它们包含一个短的,中等的,长的,和完全的日期格局.
importjava.text.DateFormat;
importjava.util.Date;
publicclassDateExample4{
publicstaticvoidmain(String[]args){//本人交换[]
Datedate=newDate();
DateFormatshortDateFormat=DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);
DateFormatmediumDateFormat=DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM);
DateFormatlongDateFormat=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);
DateFormatfullDateFormat=DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL);
System.out.println(shortDateFormat.format(date));
System.out.println(mediumDateFormat.format(date));
System.out.println(longDateFormat.format(date));
System.out.println(fullDateFormat.format(date));
}
}
注重我们在对getDateTimeInstance的每次挪用中都传送了两个值.第一个参数是日期作风,而第二个参数是工夫作风.它们都是基础数据范例int(整型).思索到可读性,我们利用了DateFormat类供应的常量:SHORT,MEDIUM,LONG,和FULL.要晓得猎取工夫和日期格局化历程的更多的办法和选项,请看Sun公司Web站点上的注释.
运转我们的例子程序的时分,它将向尺度输入设备输入上面的内容:
9/29/018:44PM
Sep29,20018:44:45PM
September29,20018:44:45PMEDT
Saturday,September29,20018:44:45PMEDT
java也能做一些底层语言开发做的事情(难度很高,不是java顶尖高手是做不来的), |
|