Java 中时间的处理

0x5265c00L :表示long类型的16进制的时间毫秒数  0x5265c00L = 86400000毫秒 = 86400s = 24*60 *60 ——> 一天

另外附上一个DateUtils类:


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class DateUtils {

private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public static void main(String[] args) throws Exception {
String distance1 = getTimeDistance("2018-7-10 12:00:00","2018-10-09 12:00:00");

System.out.println(distance1);

String dateNum = getDateNum("2018-09-9 12:00:00");

System.out.println(dateNum);
System.out.println(isDate("2018-09-09 12:00:00"));
}

public static String getTimeDistance(String beginTime,String endTime){
String formatDistance="";
try {
Date beginDate = sdf.parse(beginTime);
Date endDate = sdf.parse(endTime);

long millisecond = endDate.getTime()-beginDate.getTime();
long second = millisecond / 1000;

long day = second /( 24 * 60 * 60 );
long hour = ( second - day * 24 * 60 * 60 ) / ( 60 * 60);
long minutes = ( second - day * 24 * 60 * 60 - hour * 60 * 60 ) / 60;
long seconds = second -((day*24*60*60)+(hour *60*60)+(minutes *60 ));
formatDistance = "相差时间为:"+day+"天"+hour+"小时"+ minutes+"分钟"+seconds+"秒";
} catch (ParseException e) {
e.printStackTrace();
}
return formatDistance;
}


/**
* 获取日期字符串中的数字

* @param date
* @return
* @throws ParseException
*/
public static String getDateNum(String date) throws ParseException {

StringBuffer buffer = new StringBuffer();
Date parseDate = sdf.parse(date);

Calendar cal = Calendar.getInstance();
cal.setTime(parseDate);
buffer.append(cal.get(Calendar.YEAR));

if((cal.get(Calendar.MONTH)+1)<10){
buffer.append("0"+(cal.get(Calendar.MONTH)+1));
}else{
buffer.append(cal.get(Calendar.MONTH)+1).append(cal.get(Calendar.MONTH)+1);
}
if(cal.get(Calendar.DAY_OF_MONTH)<10){
buffer.append("0"+ cal.get(Calendar.DAY_OF_MONTH));
}else{
buffer.append(cal.get(Calendar.DAY_OF_MONTH));
}
return buffer.toString();
}

/**
* 判断日期格式和范围
*/
public static boolean isDate(String date){
String rexp = "\\d{4}[-.]\\d{1,2}[-.]\\d{1,2}(\\s\\d{2}:\\d{2}(:\\d{2})?)?";
Pattern pat = Pattern.compile(rexp);
Matcher mat = pat.matcher(date);
boolean dateType = mat.matches();
return dateType;
}
}

慢慢回归职场之路,一点一滴积累,以成千里!


猜你喜欢

转载自blog.csdn.net/qq_30718137/article/details/80996053