/**
* Date转String(格式自定义)
* @param pattern yyyy-MM-dd HH:mm:ss yyyy-MM-dd等样式
* @return
*/
public static String date2String(Date date,String pattern) {
SimpleDateFormat formatter = new SimpleDateFormat(pattern);
String dateString = formatter.format(date);
return dateString;
}
/**
* string转date
* @param str
* @param pattern yyyy-MM-dd HH:mm:ss yyyy-MM-dd等样式
* @return
*/
public static Date string2Date(String str,String pattern) {
SimpleDateFormat formatter = new SimpleDateFormat (pattern);
try {
Date date = formatter.parse(str);
return date;
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
// long转换为Date类型
public static Date longToDate(long currentTime) {
Date date = new Date(currentTime); // 根据long类型的毫秒数生命一个date类型的时间
return date;
}
// date转换为long类型
public static long date2Long(Date date) {
long time = date.getTime();
return time;
}
//string转long
public static long string2Long(String str,String pattern){
return date2Long(string2Date(str,pattern));
}
//long转string
public static String long2String(long str,String pattern){
return date2String(longToDate(str),pattern);
}
如何判断在某一个时间的前后呢?
//判断是否在两个时间段之间
public static boolean betweenTwoTime(String startTime,String endTime){
Date startDate=TimeParseUtil.string2Date(startTime,"yyyy-MM-dd HH:mm:ss");
Date endDate=TimeParseUtil.string2Date(endTime,"yyyy-MM-dd HH:mm:ss");
Date date = new Date();
if(date.after(startDate)&&date.before(endDate)){
return true;
}else {
return false;
}
}
思路就是转成Date,调用Date.before或者Date.after判断.
如何获取时间的年月日时分秒呢?
/**
* 获取年
* @param date
* @return
*/
public static int getYear(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.YEAR);
}
/**
* 获取月
* @param date
* @return
*/
public static int getMonth(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.MONTH)+1;
}
/**
* 获取天
* @param date
* @return
*/
public static int getDay(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.DAY_OF_MONTH);
}
/**
* 获取时
* @param date
* @return
*/
public static int getHour(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.HOUR_OF_DAY);
}
/**
* 获取分
* @param date
* @return
*/
public static int getMinute(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar.get(Calendar.MINUTE);
}
注意月份比较特殊,比如2月,返回的是1,所以需要在结果处加1
注意月份比较特殊,比如2月,返回的是1,所以需要在结果处加1
注意月份比较特殊,比如2月,返回的是1,所以需要在结果处加1