package  com. yong. util ; 
import  java. util.  Calendar ; 
import  java. util.  Date ; public  class  TestDate  { public  static  void  main ( String [ ]  args)  { System . out. println ( "当前时间:" +  new  Date ( ) . toLocaleString ( ) ) ; System . out. println ( "当天0点时间:" +  getTimesmorning ( ) . toLocaleString ( ) ) ; System . out. println ( "当天24点时间:" +  getTimesnight ( ) . toLocaleString ( ) ) ; System . out. println ( "本周周一0点时间:" +  getTimesWeekmorning ( ) . toLocaleString ( ) ) ; System . out. println ( "本周周日24点时间:" +  getTimesWeeknight ( ) . toLocaleString ( ) ) ; System . out. println ( "本月初0点时间:" +  getTimesMonthmorning ( ) . toLocaleString ( ) ) ; System . out. println ( "本月未24点时间:" +  getTimesMonthnight ( ) . toLocaleString ( ) ) ; } public  static  Date  getTimesmorning ( )  { Calendar  cal =  Calendar . getInstance ( ) ; cal. set ( Calendar . HOUR_OF_DAY,  0 ) ; cal. set ( Calendar . SECOND,  0 ) ; cal. set ( Calendar . MINUTE,  0 ) ; cal. set ( Calendar . MILLISECOND,  0 ) ; return  cal. getTime ( ) ; } public  static  Date  getTimesnight ( )  { Calendar  cal =  Calendar . getInstance ( ) ; cal. set ( Calendar . HOUR_OF_DAY,  24 ) ; cal. set ( Calendar . SECOND,  0 ) ; cal. set ( Calendar . MINUTE,  0 ) ; cal. set ( Calendar . MILLISECOND,  0 ) ; return  cal. getTime ( ) ; } public  static  Date  getTimesWeekmorning ( )  { Calendar  cal =  Calendar . getInstance ( ) ; cal. set ( cal. get ( Calendar . YEAR) ,  cal. get ( Calendar . MONDAY) ,  cal. get ( Calendar . DAY_OF_MONTH) ,  0 ,  0 ,  0 ) ; cal. set ( Calendar . DAY_OF_WEEK,  Calendar . MONDAY) ; return  cal. getTime ( ) ; } public  static  Date  getTimesWeeknight ( )  { Calendar  cal =  Calendar . getInstance ( ) ; cal. setTime ( getTimesWeekmorning ( ) ) ; cal. add ( Calendar . DAY_OF_WEEK,  7 ) ; return  cal. getTime ( ) ; } public  static  Date  getTimesMonthmorning ( )  { Calendar  cal =  Calendar . getInstance ( ) ; cal. set ( cal. get ( Calendar . YEAR) ,  cal. get ( Calendar . MONDAY) ,  cal. get ( Calendar . DAY_OF_MONTH) ,  0 ,  0 ,  0 ) ; cal. set ( Calendar . DAY_OF_MONTH,  cal. getActualMinimum ( Calendar . DAY_OF_MONTH) ) ; return  cal. getTime ( ) ; } public  static  Date  getTimesMonthnight ( )  { Calendar  cal =  Calendar . getInstance ( ) ; cal. set ( cal. get ( Calendar . YEAR) ,  cal. get ( Calendar . MONDAY) ,  cal. get ( Calendar . DAY_OF_MONTH) ,  0 ,  0 ,  0 ) ; cal. set ( Calendar . DAY_OF_MONTH,  cal. getActualMaximum ( Calendar . DAY_OF_MONTH) ) ; cal. set ( Calendar . HOUR_OF_DAY,  24 ) ; return  cal. getTime ( ) ; } } public  Date  getCurrentQuarterStartTime ( )  { Calendar  c =  Calendar . getInstance ( ) ; int  currentMonth =  c. get ( Calendar . MONTH)  +  1 ; Date  now =  null ; try  { if  ( currentMonth >=  1  &&  currentMonth <=  3 ) c. set ( Calendar . MONTH,  1 ) ; else  if  ( currentMonth >=  4  &&  currentMonth <=  6 ) c. set ( Calendar . MONTH,  3 ) ; else  if  ( currentMonth >=  7  &&  currentMonth <=  9 ) c. set ( Calendar . MONTH,  4 ) ; else  if  ( currentMonth >=  10  &&  currentMonth <=  12 ) c. set ( Calendar . MONTH,  9 ) ; c. set ( Calendar . DATE,  1 ) ; now =  longSdf. parse ( shortSdf. format ( c. getTime ( ) )  +  " 00:00:00" ) ; }  catch  ( Exception  e)  { e. printStackTrace ( ) ; } return  now; } public  Date  getCurrentQuarterEndTime ( )  { Calendar  c =  Calendar . getInstance ( ) ; int  currentMonth =  c. get ( Calendar . MONTH)  +  1 ; Date  now =  null ; try  { if  ( currentMonth >=  1  &&  currentMonth <=  3 )  { c. set ( Calendar . MONTH,  2 ) ; c. set ( Calendar . DATE,  31 ) ; }  else  if  ( currentMonth >=  4  &&  currentMonth <=  6 )  { c. set ( Calendar . MONTH,  5 ) ; c. set ( Calendar . DATE,  30 ) ; }  else  if  ( currentMonth >=  7  &&  currentMonth <=  9 )  { c. set ( Calendar . MONTH, ; c. set ( Calendar . DATE,  30 ) ; }  else  if  ( currentMonth >=  10  &&  currentMonth <=  12 )  { c. set ( Calendar . MONTH,  11 ) ; c. set ( Calendar . DATE,  31 ) ; } now =  longSdf. parse ( shortSdf. format ( c. getTime ( ) )  +  " 23:59:59" ) ; }  catch  ( Exception  e)  { e. printStackTrace ( ) ; } return  now; }