获取当前日期
SimpleDateFormat df = new SimpleDateFormat ( "yyyy-MM-dd HH:mm:ss" ) ;
System. out. println ( df. format ( new Date ( ) ) ) ;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
Date date = simpleDateFormat. parse ( stime) ;
Calendar cal = Calendar. getInstance ( ) ;
cal. setTime ( data) ;
获取今日零点 &+1天
public static void main ( String[ ] args) {
long current= System. currentTimeMillis ( ) ;
long zero= current/ ( 1000 * 3600 * 24 ) * ( 1000 * 3600 * 24 ) - TimeZone. getDefault ( ) . getRawOffset ( ) ;
long twelve= zero+ 24 * 60 * 60 * 1000 - 1 ;
long yesterday= System. currentTimeMillis ( ) - 24 * 60 * 60 * 1000 ;
System. out. println ( new Timestamp ( current) ) ;
System. out. println ( new Timestamp ( yesterday) ) ;
System. out. println ( new Timestamp ( zero) ) ;
System. out. println ( new Timestamp ( twelve) ) ;
System. out. println ( "---------- 当前时间+一天 -------------" ) ;
SimpleDateFormat sf = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
Calendar c = Calendar. getInstance ( ) ;
System. out. println ( "当前日期:" + sf. format ( new Timestamp ( twelve) ) ) ;
c. add ( Calendar. DAY_OF_MONTH, 1 ) ;
System. out. println ( "增加一天后日期:" + sf. format ( c. getTime ( ) ) ) ;
}
一周的某天日期 获取前后周始末 日期
String arr1[ ] = addDay ( nn) ;
public static String[ ] addDay ( int nn) {
String arr[ ] = new String [ 2 ] ;
Calendar cal = Calendar. getInstance ( ) ;
String monday;
cal. add ( Calendar. DATE, nn* 7 ) ;
cal. set ( Calendar. DAY_OF_WEEK, Calendar. MONDAY) ;
monday = new SimpleDateFormat ( "yyyy-MM-dd" ) . format ( cal. getTime ( ) ) ;
arr[ 0 ] = monday;
String s= monday;
int n= 7 ;
try {
SimpleDateFormat sdf = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
Calendar cd = Calendar. getInstance ( ) ;
cd. setTime ( sdf. parse ( s) ) ;
cd. add ( Calendar. DATE, n) ;
arr[ 1 ] = sdf. format ( cd. getTime ( ) ) ;
} catch ( Exception e) {
}
return arr;
}
日取判断是周几
public static String dateToWeek ( String datetime) {
SimpleDateFormat sdf = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
String[ ] weekDays = { "星期日" , "星期一" , "星期二" , "星期三" , "星期四" , "星期五" , "星期六" } ;
Calendar cal = Calendar. getInstance ( ) ;
Date date;
try {
date = sdf. parse ( datetime) ;
cal. setTime ( date) ;
} catch ( ParseException e) {
e. printStackTrace ( ) ;
}
int w = cal. get ( Calendar. DAY_OF_WEEK) - 1 ;
return weekDays[ w] ;
}
获取当月的 月初 月末日期
public static String[ ] getMonthStartEnd ( ) {
String arr[ ] = new String [ 2 ] ;
Calendar cal= Calendar. getInstance ( ) ;
cal. add ( Calendar. MONTH, 0 ) ;
cal. set ( Calendar. DAY_OF_MONTH, 1 ) ;
Date time= cal. getTime ( ) ;
arr[ 0 ] = new SimpleDateFormat ( "yyyy-MM-dd" ) . format ( time) ;
cal. set ( Calendar. DAY_OF_MONTH, cal. getActualMaximum ( Calendar. DAY_OF_MONTH) ) ;
arr[ 1 ] = new SimpleDateFormat ( "yyyy-MM-dd" ) . format ( cal. getTime ( ) ) ;
return arr;
}
获取当前季度的 开始 结束时间
季度和年需要用到,可以自己改下,就是一模板,这里懒的改了
private final static SimpleDateFormat longSdf = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
private final static SimpleDateFormat shortSdf = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
public static String[ ] getCurrentQuarterStartTime ( ) {
String arr[ ] = new String [ 2 ] ;
Calendar c = Calendar. getInstance ( ) ;
int currentMonth = c. get ( Calendar. MONTH) + 1 ;
SimpleDateFormat longSdf = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
SimpleDateFormat shortSdf = new SimpleDateFormat ( "yyyy-MM-dd" ) ;
Date now = null;
try {
if ( currentMonth >= 1 && currentMonth <= 3 )
c. set ( Calendar. MONTH, 0 ) ;
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 ) ;
arr[ 0 ] = shortSdf. format ( c. getTime ( ) ) ;
Calendar cal = Calendar. getInstance ( ) ;
cal. setTime ( longSdf. parse ( shortSdf. format ( c. getTime ( ) ) ) ) ;
cal. add ( Calendar. MONTH, 3 ) ;
arr[ 1 ] = shortSdf. format ( cal. getTime ( ) ) ;
} catch ( Exception e) {
e. printStackTrace ( ) ;
}
return arr;
}
当前年的开始时间 和 结束时间
public static String[ ] getCurrentYearStartTime ( ) {
String arr[ ] = new String [ 2 ] ;
Calendar c = Calendar. getInstance ( ) ;
try {
c. set ( Calendar. MONTH, 0 ) ;
c. set ( Calendar. DATE, 1 ) ;
arr[ 0 ] = shortSdf. format ( c. getTime ( ) ) ;
c. set ( Calendar. MONTH, 11 ) ;
c. set ( Calendar. DATE, 31 ) ;
arr[ 1 ] = shortSdf. format ( c. getTime ( ) ) ;
} catch ( Exception e) {
e. printStackTrace ( ) ;
}
return arr;
}
判断两时间 相差多少天
public static int differentDaysByMillisecond ( Date date1, Date date2) {
int days = ( int ) ( ( date2. getTime ( ) - date1. getTime ( ) ) / ( 1000 * 3600 * 24 ) ) ;
return days;
}
当前时间+1小时 && 比较两时间相差几小时
SimpleDateFormat sf = new SimpleDateFormat ( "yy-MM-dd HH:mm:ss" ) ;
String time = sf. format ( itme. getOrdertime ( ) ) ;
time = "20" + time;
sf. setTimeZone ( TimeZone. getTimeZone ( "GMT+0" ) ) ;
Date date = sf. parse ( time) ;
sf. setTimeZone ( TimeZone. getTimeZone ( "GMT+1" ) ) ;
String time22 = sf. format ( date) ;
time22 = "20" + time22;
SimpleDateFormat format = new SimpleDateFormat ( "yyyy-MM-dd HH:mm:ss" ) ;
Date date12 = null;
date12 = format. parse ( time22) ;
double hour = 0 ;
double millisecond = new Date ( ) . getTime ( ) - date12. getTime ( ) ;
hour = millisecond / ( 60 * 60 * 1000 ) ;
System. out. println ( hour ) ;