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; }