1.1.4 与时间有关的类Date,DateFormat,Calendar Date类用于表示日期和时间。它没考虑国际化问题,所以又设计了另外两个类。1 @4 }2 i( B, ~6 Y# F9 ^8 a' p1 B
Calendar类:
' V& Y/ ]. j+ W0 O% @( ^ 主要是进行日期字段之间的相互操作。
5 E" l, a. C% D* y6 h% @" n 编程实例:计算出距当前日期时间315天后的日期时间,并使用”xxxx年xx月xx日xx小时:xx分:xx秒”的格式输出。
' H1 T7 B( @# D import java.util.*;. G, C# Y z$ y, _, J
import java.text.SimpleDateFormat; //由于simpledateformat和dateformat在这个包中
3 j" r' N7 X: ~- K, y8 O public class TestCalendar. ?$ S4 s8 i- G& x$ _
{
: F. r/ b( J. }: ^! O3 A public static void main(String[] args)9 ^* F! I' N3 y2 ]6 \+ I! s
{
8 O) R2 I, |8 W! c5 n8 [+ A9 v3 L Calendar cl=Calendar.getInstance(); //创建一个实例
' z: |! k2 H9 N7 y System.out.println(cl.get(Calendar.YEAR)+"年"+cl.get(cl.MONTH)+"月"+cl.get(cl.DAY_OF_MONTH)+"日 "+cl.get(cl.HOUR)+":"+cl.get(cl.MINUTE)+":"+cl.get(cl.SECOND));
8 f. s, |& {" r4 { b* {8 H. K /*
( u- k( z4 T3 x& q& ^ 使用get方法来取得日期中的年月日等等,参数为类中的常数,可以直接使用类名调用常数,也可以使用对象名。. J1 F! b" ~. ^' Q
*/1 ^ M& H6 M% e( P: N9 y* o
cl.add(cl.DAY_OF_MONTH,315);0 o" i: F7 X, w7 j
//加上315天,使用add方法,第一个参数为单位,也是常数。
8 M( }/ n) u0 N1 A9 m$ H: e8 }% b6 q( j System.out.println(cl.get(Calendar.YEAR)+"年"+cl.get(cl.MONTH)+"月"+cl.get(cl.DAY_OF_MONTH)+"日 "+cl.get(cl.HOUR)+":"+cl.get(cl.MINUTE)+":"+cl.get(cl.SECOND));
+ \$ b* g& I. [2 v# X SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd"); //定义了格式0 ~' |9 w: y9 g U& A. ]' S
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日"); //定义了格式& B- ^8 |; w2 A7 d0 X# ?
try8 o7 X8 m" p) b& g
{
9 }0 y+ a& d/ h7 I" X Date d=sdf1.parse("2003-03-15"); //将字符串强制转换成这种格式,使用parse()( U9 e9 C; o4 S: u
System.out.println(sdf2.format(d));将格式1的日期转换成格式2,使用format()
, m' @- r: m9 K/ w9 m$ D! T0 w }
3 D0 S) g' F) Q- E6 v" ^& B& w catch(Exception e)$ V/ l& Y% J5 A3 a& r- ?* ?
{0 t" p4 `* r7 c, l
e.printStackTrace();
/ q- e! V# V/ x- u }3 a G! |0 U" ^0 ?) b. o3 d5 v1 h
}
. T9 p. ^; M2 Q' C: a }% D6 P* G- }) k* s6 V
编程实例:将“2002-03-15“格式的日期转换成“2003年03月15日”的格式。代码在上例中的黑体部分。 |