a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 226|回复: 3

[专业语言] JAVA认证:Java中Date各种用法

[复制链接]
发表于 2012-8-4 12:44:44 | 显示全部楼层 |阅读模式
JAVA认证考试:Java中Date各种用法:
/ g' X. O" E- Y: P1.计算某一月份的最大天数
! X: Q2 O' ]" K  Java代码& n7 T4 i& S9 q- S8 r1 s
  Calendar time=Calendar.getInstance();7 f( a  g' R; L" B
  time.clear();5 T% T/ u) f$ }+ j
  time.set(Calendar.YEAR,year);
6 z5 T% I" Z0 |, }# a7 B2 m& P  time.set(Calendar.MONTH,i-1);//注意,Calendar对象默认一月为0% J3 T, j2 n* l
  int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//本月份的天数: H  q8 l, o! d/ i
  注:在使用set方法之前,必须先clear一下,否则很多信息会继承自系统当前时间
& D8 u' M3 h$ S; H! q# V" Z3 a0 q/ d  2.Calendar和Date的转化
" j, _5 h" k, S7 r, W  (1) Calendar转化为Date: x6 h) o# F3 i: c
  Java代码
6 g% W2 h* y$ B+ U0 O: y/ G+ Q, S- F  Calendar cal=Calendar.getInstance();
. Q& s% k* }4 t0 r. z  Date date=cal.getTime();- N9 h; O) w; n3 `
  (2) Date转化为Calendar" m+ Z0 f1 I9 Q: X. }: Q- G, l. u
  Java代码
2 N" I" I4 p2 A( X  Date date=new Date();
$ T5 ~/ Y" \  H$ A2 R  Calendar cal=Calendar.getInstance();4 q2 s* u& U. a" i
  cal.setTime(date);
: l- @9 Z' y* }/ {* x5 {  3.格式化输出日期时间! R' X5 u3 ^2 H& j0 F! w" J
  Java代码4 i# Z" X  T  g9 n% j7 _
  Date date=new Date();
' L3 d5 [9 M( a- T- G( f/ t" K. }  SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
5 g# e3 \, K- V0 `& C  System.out.println(df.format(date));
/ T- _; L1 @: O7 z  4.计算一年中的第几星期
# C  d, j0 ~0 `/ _1 @1 |  (1)计算某一天是一年中的第几星期  ~$ r; R' m" A5 O1 M4 L6 @
  Java代码6 Q0 s$ W" w9 N
  Calendar cal=Calendar.getInstance();
; o% ]0 `1 x# F& }* l/ k# ~5 Z  ~  cal.set(Calendar.YEAR, 2006);7 `! Q" k3 q/ C4 h+ O$ `
  cal.set(Calendar.MONTH, 8);7 B' F  ?$ P" }" t, y6 K# a
  cal.set(Calendar.DAY_OF_MONTH, 3);
, T, T: T6 c) v" O# u  int weekno=cal.get(Calendar.WEEK_OF_YEAR);
2 M* J! M2 G8 x% b  (2)计算一年中的第几星期是几号9 E" W& Z7 U- B1 j, _8 t) f/ R. Q5 e
  Java代码9 O" `+ I1 k3 P: q
  SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");
6 g! M- r. c" E  Calendar cal=Calendar.getInstance();
" A# x6 G3 w1 g( U  cal.set(Calendar.YEAR, 2006);
5 e( I' H. P# ^4 k: c3 F, N  cal.set(Calendar.WEEK_OF_YEAR, 1);
2 _$ `& Q/ L" x+ x  cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);" U' ]5 h; H+ w* P( {7 e/ c
  System.out.println(df.format(cal.getTime()));
: s3 o) Z0 E: Z4 I9 t  输出:2 T5 R! v* P" i( z) A
  2006-01-02
) I' k3 g# @6 p  5.add()和roll()的用法7 M9 u/ s) ]1 O6 k3 n. Q& Y
  (1)add()方法
9 n* |) F6 j" K) R9 Y7 v  Java代码
1 M$ M; l" A  G9 v  SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd");* b/ J8 X7 t4 m
  Calendar cal=Calendar.getInstance();
  Z" ^, i+ p1 \7 P2 k: L) ^  cal.set(Calendar.YEAR, 2006);2 G% t' w4 W3 M  u4 ]
  cal.set(Calendar.MONTH, 8);3 i- ]# \& Y$ g9 D0 G
  cal.set(Calendar.DAY_OF_MONTH, 3);
9 a8 \( H9 w5 H) r1 V" V- y3 o  cal.add(Calendar.DATE, -4);& e7 ~: S* [7 I" S
  Date date=cal.getTime();" l; @! a% {' P+ Z# _& g
  System.out.println(df.format(date));+ N7 V4 b( q* Z! c% z! {8 m% p
  cal.add(Calendar.DATE, 4);
- Y$ j- l, _; b! S1 v  date=cal.getTime();+ G8 l6 f. _8 Z$ b; E
  System.out.println(df.format(date));
0 j- L* y' C. O' M  输出:
) U# U! ~: Y% m$ `6 |; l/ n  2006-08-30
$ F. i) e* j4 g1 a  2006-09-03
  c( Z0 @1 K' Q9 N  I! i0 g3 {& z/ ~  (2)roll方法! h4 M; D* c. ~: V1 \
  Java代码5 a6 H0 f" q' u! B9 p% Y% q
  cal.set(Calendar.YEAR, 2006);
% o& W/ {* F* d0 p3 C% w  cal.set(Calendar.MONTH, 8);
/ h. C7 F' r& ]/ M5 V) L  cal.set(Calendar.DAY_OF_MONTH, 3);% ^* l! E# F! v* N
  cal.roll(Calendar.DATE, -4);( H+ |4 ~# }" I8 G
  date=cal.getTime();
' t2 `+ M# v9 N5 x: p# f; W  System.out.println(df.format(date));
, p8 [; F% d( G( F1 M  cal.roll(Calendar.DATE, 4);
1 K5 ^! V' M6 R6 ]& o" Y! m  date=cal.getTime();0 K6 T4 \1 V) a+ l  H
  System.out.println(df.format(date));+ f7 Y" Z$ ]" h9 B1 U! m0 a1 d
  输出:
" ^, g0 Q$ u0 j0 R$ Y) [8 C' g4 f  2006-09-29& i, D- f& l' u  h5 H
  2006-09-03
/ ^' T5 J8 i' {- P7 |+ `$ x* ~1 R5 }  可见,roll()方法在本月内循环,一般使用add()方法;
回复

使用道具 举报

 楼主| 发表于 2012-8-4 12:44:45 | 显示全部楼层

JAVA认证:Java中Date各种用法

6.计算两个任意时间中间的间隔天数   (1)传进Calendar对象/ C* d2 X: `2 L. c, i
  Java代码1 c* V7 q1 W& V+ n4 C% B
  /** *//**计算两个时间之间相隔天数
" [: t( o+ A& ~7 \; X! Q% W  * @param startday 开始时间6 i6 o& d& U) B- v/ P4 S+ [
  * @param endday 结束时间
: M0 a" M! K1 T. h  @0 J# I: L  * @return0 C" Z3 b" N; y
  */
7 g( w2 D- J' g  public int getIntervalDays(Calendar startday,Calendar endday)...{
, [9 J! p1 m! i" ^# ]0 K8 A3 Y! i  //确保startday在endday之前
1 `# d3 Z6 l* p" i  if(startday.after(endday))...{9 f" C% Y9 K* N! i  f
  Calendar cal=startday;
3 g% f+ H) A3 W  startday=endday;+ F4 R3 m7 i  {, A6 B
  endday=cal;
  k6 a+ Q5 t+ @: ]: b3 S& r$ e$ X  }
- J' ^% v; ^/ n  //分别得到两个时间的毫秒数
+ T; Y2 G# s3 H; Y0 D$ M( h  long sl=startday.getTimeInMillis();( s3 c$ l- Z: @2 G. X8 x) `
  long el=endday.getTimeInMillis();
7 p, v- k) E8 w( s) s  long ei=el-sl;
2 I+ r3 }4 Z3 i4 w# P  //根据毫秒数计算间隔天数
4 z: x+ X5 C" w  return (int)(ei/(1000*60*60*24));! P! [- ]" z2 C/ j' r* m; h3 r; h" ~+ c
  }
* v; E6 I# T, Z2 h  (2)传进Date对象; g9 S; o1 u8 X% |* O
  Java代码
1 H" O. a% m3 A, `  /** *//**计算两个时间之间相隔天数% _5 \# L0 c) y- I4 f6 m
  * @param startday 开始时间
0 S7 B! }1 F+ A( f  * @param endday 结束时间
/ C# ]1 [9 ]0 n9 K! {  * @return
4 ~; X" K3 \/ q# S: Q  */; K5 @' j' O5 l6 C. B
  public int getIntervalDays(Date startday,Date endday)...{
# v. ^6 L. f# H/ \8 b, |5 k  //确保startday在endday之前' f( B1 D8 i" `: G" z- p
  if(startday.after(endday))...{# p' O; T/ h7 T7 `2 c3 n5 f$ C7 \
  Date cal=startday;
: Z9 E' P+ S9 D' ~/ I; g  startday=endday;
: _) ~7 V+ t/ y& E  endday=cal;% a! c: S+ f0 v0 M
  }
  `& s4 t, W5 L7 t  //分别得到两个时间的毫秒数) g( Y8 r7 k0 m
  long sl=startday.getTime();
- J3 D' W$ `9 Q6 R$ c  long el=endday.getTime();
5 W0 x: W& G4 P* @  ?; h  long ei=el-sl;
  f* Z8 N$ l% u( `/ S2 y0 a  //根据毫秒数计算间隔天数
, Z8 `" F) }# F4 }8 u  return (int)(ei/(1000*60*60*24));
7 C; z# N! G& o* {' ]7 k  }( L- l4 _9 y* L* I' {
  同理,可以用相同的方法计算出任意两个时间相隔的小时数,分钟数,秒钟数等
! Y, g- A' o* T- U& D1 o5 j  注:以上方法是完全按时间计算,有时并不能令人满意,如:/ T, [5 A( w: U) z5 I: _( x9 N
  startday="2006-10-11 20:00:00", q, e3 J) t4 s* W; d3 e
  endday="2006-10-12 8:00:00"
( E: p2 x! l1 u4 }( l' k  计算结果为0,但是我们也许相让计算结果变为1,此时可以用如下方法实现:- P& _/ Z6 `' Q, ]8 f% V' g8 w
  在传参之前,先设定endday的时间,如:
5 N* x9 S1 k  u$ S  m% N4 ^' Y5 F  Java代码
7 D1 \( ]" v" q( h$ e  endday.set(Calendar.HOUR_OF_DAY, 23);7 S9 N! t9 Z/ v0 R
  endday.set(Calendar.MINUTE, 59);5 ]  f* o) M2 n. m- M
  endday.set(Calendar.SECOND, 59);, {# }; p" p+ v) v  w. f. c
  endday.set(Calendar.MILLISECOND, 59);, r) v4 T9 b* S
  这样再传进去startday,endday,则结果就如我们所愿了。不过,如果嫌以上方法麻烦,可以参考以下方法:
: O2 u& f7 q: D$ d2 R  (3)改进精确计算相隔天数的方法6 u' t( z$ H/ x, |% {/ G
  Java代码7 r; N3 q  q, `3 i
  public int getDaysBetween (Calendar d1, Calendar d2) ...{
& o; z" t; Y  G5 o/ c  if (d1.after(d2)) ...{ // swap dates so that d1 is start and d2 is end
' X& _" a7 O8 T/ N6 _  java.util.Calendar swap = d1;
4 [& F( G: s( o( o7 P  d1 = d2;
8 t' H! @+ o1 i: B  d2 = swap;
. i3 \1 Y$ Q$ w" h. {  }
* m% \* O+ E2 h6 M$ g1 J  int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR);
3 j' n, I& D) P- S, c3 v3 o3 L# U9 Q  int y2 = d2.get(Calendar.YEAR);% Y. K& S+ K  N8 M, r
  if (d1.get(Calendar.YEAR) != y2) ...{% U3 X; i: c& {7 R! C
  d1 = (Calendar) d1.clone();+ Y) X  i. ^+ R3 m. Z& h
  do ...{. G6 p% Q( u; E. Y% `( W, G
  days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数/ g# H5 I: ~6 U
  d1.add(Calendar.YEAR, 1);
4 }3 W4 W1 v- J# k4 F  } while (d1.get(Calendar.YEAR) != y2);6 {" {# j' B2 _0 q1 G
  }
4 r+ L, p% a. i1 b5 X, S  return days;
9 U4 L% B4 L  T0 i3 H. k# j1 u! X  }
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:44:46 | 显示全部楼层

JAVA认证:Java中Date各种用法

获取系统当前时间:
6 \# c6 \/ S; H  `: U4 H3 k' m  Java代码
( V6 Y. ?, f- |0 n2 M! F  public static String getSystemTime(){
' U$ D4 T* W3 }1 W6 U  Date date=new Date();
7 F# P, R/ P0 Q# {2 v  SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
9 D! `- h" h# R6 e  I! t  return df.format(date);: W0 }! }0 o- Y/ a
  }
1 r1 j' X* b; H) h& _4 U  //字符串转化成时间类型(字符串可以是任意类型,只要和SimpleDateFormat中的格式一致即可)$ Z/ b. R4 t7 Z# w9 w
  java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("M/dd/yyyy hh:mm:ss a",java.util.Locale.US);
7 Y% f" L0 _& s  java.util.Date d = sdf.parse("5/13/2003 10:31:37 AM");3 e' o5 `3 i% |- ?
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");7 N  l) t4 ^- t) Y9 M
  String mDateTime1=formatter.format(d);
7 {+ l( ]+ X' p  //当前时间6 X: x4 u7 D, K+ m# ]1 [
  Calendar cal = Calendar.getInstance();3 U( n& t* h8 \, b& L( f. y
  // SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");0 [% l- W; n( E3 k2 M
  SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss G E D F w W a E F");: M' c" f( E& r5 x( h* q
  String mDateTime=formatter.format(cal.getTime());" r8 p9 f$ `) Z  Z. ?  [" h8 A
  //1年前日期
( h+ ?% O6 F. `/ L7 W# P. S  J" u, a, r  java.util.Date myDate=new java.util.Date();8 n; y9 _, r6 z5 E0 z
  long myTime=(myDate.getTime()/1000)-60*60*24*365;5 j" i0 N& x9 A, F4 ?- C
  myDate.setTime(myTime*1000);
" y5 `% m! }+ H" o  x0 g( _0 a  String mDate=formatter.format(myDate);* B1 X0 {0 W+ B  p
  //明天日期
$ j- @' L3 {( ^  n, ]: w# A" L  myDate=new java.util.Date();3 Y& V6 X2 L" Q" K. m6 G
  myTime=(myDate.getTime()/1000)+60*60*24;% ~& k  o8 Q* x  [& j+ D
  myDate.setTime(myTime*1000);
/ ^6 Z, e/ J6 d! K7 E$ X4 b  mDate=formatter.format(myDate);
- b  N5 c# k0 N# [  Y8 R  //两个时间之间的天数1 K! l- n/ J6 S
  SimpleDateFormat myFormatter = new SimpleDateFormat("yyyy-MM-dd");
8 _. X  d5 J- l0 H7 c  java.util.Date date= myFormatter.parse("2003-05-1");
& ~6 \0 Y- E% G9 w  java.util.Date mydate= myFormatter.parse("1899-12-30");
5 h+ h' L1 y" j4 x* x" K  long day=(date.getTime()-mydate.getTime())/(24*60*60*1000);
! b0 Q* l- s. i4 T' [+ n. }  //加半小时
7 h* J$ t* V5 ]5 `! K  SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");# R1 d( @, z2 n9 @, m( S
  java.util.Date date1 = format.parse("2002-02-28 23:16:00");. E1 \8 |. l* H2 L) x
  long Time=(date1.getTime()/1000)+60*30;
4 D) T3 S8 W! N# W* ~& t3 s: A  date1.setTime(Time*1000);
$ O# k9 K: r5 f4 L" y0 ?: F  String mydate1=formatter.format(date1);1 h2 m0 W# H) r
  //年月周求日期
! ]- a3 l8 j' k6 m  SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM F E");
! v8 }; C5 D4 [0 j- b  java.util.Date date2= formatter2.parse("2003-05 5 星期五");1 l: G5 {5 z* G! T3 v5 I/ f
  SimpleDateFormat formatter3 = new SimpleDateFormat("yyyy-MM-dd");6 V) `  c" k; @4 p! y
  String mydate2=formatter3.format(date2);; ?6 ^0 u4 d- M0 m
  //求是星期几
* r1 ]7 i9 u! s' v  mydate= myFormatter.parse("2001-1-1");
( f6 S  M) i4 `  SimpleDateFormat formatter4 = new SimpleDateFormat("E");
, w2 |& j& k! H! I" I  String mydate3=formatter4.format(mydate);7 r/ d8 ^4 F4 G) ^0 B* P! w
  }0 n8 a0 I. M* F
  在 开发web应用中,针对不同的数据库日期类型,我们需要在我们的程序中对日期类型做各种不同的转换。若对应数据库数据是oracle的Date类型,即只 需要年月日的,可以选择使用java.sql.Date类型,若对应的是MSsqlserver数据库的DateTime类型,即需要年月日时分秒的,选 择java.sql.Timestamp类型
; }, s0 Z: V+ U1 f. Q  你可以使用dateFormat定义时间日期的格式,转一个字符串即可. Z% h- e- {! |8 n& o
  Java代码
8 z( b. M7 M, S3 C  package personal.jessica;
3 _* |+ ~% E; Y7 |+ X. y  J  import java.util.Date;
$ h9 x. f) A# L4 i2 Z  import java.util.Calendar;
% ]( g: m( H& l, Z1 M; N. o6 U  import java.sql.Timestamp;
0 p; R6 y& t) C: j& ^6 b+ N2 z, e  import java.text.DateFormat;* L; W1 O0 x' W, j2 _
  import java.text.SimpleDateFormat;
9 y2 S) @* w! U  import java.util.Locale;
- i7 s6 a& }. V2 x1 b" v  class Datetest{
3 r4 F& f1 W( V0 W: n  /**9 m2 U+ ^% s5 x7 ]6 {% Y* W# g7 u
  *method 将字符串类型的日期转换为一个timestamp(时间戳记java.sql.Timestamp)7 a* W. `7 U/ c+ Z. o# y' p
  *@param dateString 需要转换为timestamp的字符串
$ a0 f6 W- m1 u. L0 v( F0 d  *@return dataTime timestamp  B  `  _2 U, m+ C/ s
  */+ y5 F& f/ m! b# k1 R. \/ m
  public final static java.sql.Timestamp string2Time(String dateString)
7 X2 x" K1 O  d6 ?; n7 f  throws java.text.ParseException {4 O- [8 N3 W( b- w2 a5 N* j
  DateFormat dateFormat;
% m4 D; W* y# `* A# E) `  dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS", Locale.ENGLISH);//设定格式' O5 ?, X2 f7 u0 X: s( I: A
  //dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss", Locale.ENGLISH);6 Q0 G4 n+ G' {
  dateFormat.setLenient(false);
! m. p4 w! }/ N% W! c% b% j5 Z  java.util.Date timeDate = dateFormat.parse(dateString);//util类型
9 r3 V. T: y4 I1 @  java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestamp类型,timeDate.getTime()返回一个long型
: f5 `+ [6 \# \% m. a  return dateTime;- B: R. u# p/ t- W; |! j  \7 q
  }
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-4 12:44:47 | 显示全部楼层

JAVA认证:Java中Date各种用法

/**5 \- V2 \& e! e/ l' d; E
  *method 将字符串类型的日期转换为一个Date(java.sql.Date). J* y/ h0 n& E5 R
  *@param dateString 需要转换为Date的字符串  K0 J5 }# K; F) w& K
  *@return dataTime Date
" Y0 S+ I  T. F7 w4 d, v+ K  U  _  */
* X$ j9 T. [0 q  C/ r  public final static java.sql.Date string2Date(String dateString); Z- L2 g1 e3 h4 e( X
  throws java.lang.Exception {
4 j  o5 e. O; ?  DateFormat dateFormat;2 D4 R; M5 @$ {1 `5 _( P- x/ K
  dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
9 W" y& W3 q3 ~0 d$ L3 z  dateFormat.setLenient(false);
' I* S3 H( T) y  M$ }8 R  java.util.Date timeDate = dateFormat.parse(dateString);//util类型  }4 }0 C) m3 `; a- Z9 m  u7 g
  java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型
( m4 h+ V% O  f: z3 ^  return dateTime;
) ]% M: w) z" K; p  }  k0 Q: T2 G; m7 r1 U1 d
  public static void main(String[] args){
6 x' g# x; s7 [- M- O& [1 b/ t  Date da = new Date();
3 R, Q4 g+ P  J3 ]' w5 w, u  //注意:这个地方da.getTime()得到的是一个long型的值, t- g* c, n0 U4 s# d2 L' E+ j
  System.out.println(da.getTime());, t/ y. H" H* q% \+ h" f, Z
  //由日期date转换为timestamp
! i) H0 [! L6 F) i: p  //第一种方法:使用new Timestamp(long)
) @! \9 j! t+ p0 K% [" H; P  Timestamp t = new Timestamp(new Date().getTime());7 R9 l% o. v2 L/ Z6 l
  System.out.println(t);
* y. O  K0 C' Q1 r0 R# V  //第二种方法:使用Timestamp(int year,int month,int date,int hour,int minute,int second,int nano)3 I0 }; ^! `! o; m
  Timestamp tt = new Timestamp(Calendar.getInstance().get(
. Q: V- ]3 B/ u$ I. t4 V+ A* f0 k0 r  Calendar.YEAR) - 1900, Calendar.getInstance().get(
4 _" p( E* e! @9 u  Calendar.MONTH), Calendar.getInstance().get(
) r1 @8 ~- H" [; ~+ s  Calendar.DATE), Calendar.getInstance().get(
8 J0 ^3 z; M3 i* Q2 C# I: K" W4 Q! G  Calendar.HOUR), Calendar.getInstance().get(
* [7 Q# S' b+ A- d  Calendar.MINUTE), Calendar.getInstance().get(
# O9 d; s$ F( P! o6 X* K  Calendar.SECOND), 0);! L% ?/ Q0 r/ N2 [' h
  System.out.println(tt);& ^' }! a) v1 M
  try {* ^6 r) [, z9 K/ D( x* J* f
  String sToDate = "2005-8-18";//用于转换成java.sql.Date的字符串
: N2 C1 F% l. |; p/ B. J  String sToTimestamp = "2005-8-18 14:21:12.123";//用于转换成java.sql.Timestamp的字符串
/ M9 x) Z/ d3 B  Date date1 = string2Date(sToDate);
; r3 F3 \1 L) D+ n  Timestamp date2 = string2Time(sToTimestamp);
: p! I% k3 r+ o# h( w: n7 }. z  System.out.println("Date:"+date1.toString());//结果显示
. _5 O1 \* A* W; z6 ?3 U  System.out.println("Timestamp:"+date2.toString());//结果显示
- s) p% M- C5 I- d1 _& C  }catch(Exception e) {
9 G6 r, ^& h# k! A$ R3 i2 k9 |  e.printStackTrace();
: X8 ~5 C* L2 k- N  }
* N8 E* u3 A, S8 B  }3 j- x$ D, K. t9 |4 @
  }6 G/ m& d5 q" N9 m
  Java获取系统时间的年份
+ z" d8 }' L2 o  Java代码7 R+ t: V" T+ z/ H7 h0 S% H0 z
  public static String getYear(){7 Q) X" t; @# D9 y
  Calendar ca = Calendar.getInstance();$ P1 Z# S% F4 H# E; m
  ca.setTime(new java.util.Date());
# m5 Z/ T1 F! d7 T  V  String year = ""+ca.get(Calendar.YEAR);
0 n# e7 _$ z' f' j2 t  return year;( S- H) g- ~3 L
  }
( Z* G. D# }5 |  S2 p% G  public void getYear(){- S4 x# u" i$ @) Y
  Calendar ca = Calendar.getInstance();
- z8 t* V7 X% i. T  ca.setTime(new java.util.Date());
: s( C! E( f, B$ j$ H0 N# D$ H1 _9 r  SimpleDateFormat simpledate = new SimpleDateFormat("yyyyMMdd");
1 c& k1 a2 _! e; C5 h+ Z  String date = simpledate.format(ca.getTime());# I/ Z5 y/ K; f4 s- X& G
  int year = ca.get(Calendar.YEAR);
; n2 l3 f3 S9 e2 s! W# E7 {* ?: X  int month = ca.get(Calendar.MONTH);' W- v4 x* i6 s
  int day = ca.get(Calendar.DAY_OF_MONTH);' v5 N0 ]- m. A8 [2 y( j
  System.out.println(date+"||"+year+"||"+month+"||"+day);
& W# I# _% U! r; W+ ]/ p  }
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-4-29 20:35 , Processed in 0.276063 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表