java日期格式转换大全详解编程语言

public class DateFormatUtils { 
private static Log logger = LogFactory.getLog(DateFormatUtils.class); 
public static String formatDate(String formater,Date date){ 
SimpleDateFormat formate = new SimpleDateFormat(formater); 
formate.format(date); 
return formate.format(date); 
} 
/** 
*  
* @Title:formatDateToCommon 
* @Description: 通用时间转换类型  
* @param date 
* @return 
*/ 
public static String formatDateToCommon(Date date){ 
SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
return formate.format(date); 
} 
/** 
*  
* @Title:getSystemDate 
* @Description: 获取系统当前时间  
* @param date 
* @return 
* @throws Exception 
*/ 
public static Date getSystemDate() { 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
try { 
return sdf.parse(sdf.format(new Date())); 
} catch (ParseException e) { 
logger.error("", e); 
} 
return null ; 
} 
/** 
*  
* @Title:SystemDateFormatToCommon 
* @Description: 获取系统当前时间  
* @return 
*/ 
public static String getSystemDateFormatToCommon(){ 
SimpleDateFormat formate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
return formate.format(new Date()); 
} 
public static String getSystemDateFormatToYYYYMMDD(){ 
SimpleDateFormat formate = new SimpleDateFormat("yyyyMMdd"); 
return formate.format(new Date()); 
} 
public static String getSystemDateFormatToYYYYMMDDHHmmss(){ 
SimpleDateFormat formate = new SimpleDateFormat("yyyyMMddHHmmss"); 
return formate.format(new Date()); 
} 
/** 
*  
* @Title:getFormatDateCommon 
* @Description: 格式化时间  
* @param date 
* @return 
* @throws Exception 
*/ 
public static Date getFormatDateCommon(Date date) { 
try { 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
return sdf.parse(sdf.format(date)); 
} catch (ParseException e) { 
logger.error("", e); 
} 
return null; 
} 
/** 
*  
* @Title:StringToDate 
* @Description: 字符串转换成日期  
* @param dateStr 
* @param formatStr 
* @return 
* @throws ParseException  
*/ 
public static Date StringToDate(String dateStr) throws ParseException { 
DateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
Date date=null; 
date = sdf.parse(dateStr); 
return date; 
} 
public static Date StringToDate(String dateStr, String pattern){ 
try{ 
DateFormat sdf=new SimpleDateFormat(pattern); 
Date date = sdf.parse(dateStr); 
return date; 
}catch(ParseException ex){ 
return null; 
} 
} 
/** 
*  
* @Title:fromDateStringToLong 
* @Description: 获取字符串时间格式的毫秒数  
* @param inVal 
* @return 
*/ 
public static long fromDateStringToLong(String inVal) { 
return fromDateStringToLong(inVal, "yyyy-MM-dd HH:mm:ss"); 
} 
public static long fromDateStringToLong(String inVal,String format) { 
Date date = null; // 定义时间类型 
SimpleDateFormat inputFormat = new SimpleDateFormat(format); 
try { 
date = inputFormat.parse(inVal); // 将字符型转换成日期型 
} catch (Exception e) { 
logger.error("", e); 
} 
return date.getTime(); // 返回毫秒数 
} 
/** 
*  
* @Title:getMillForDateTimeDouble 
* @Description: 获取两个时间之间的毫秒数  
* @param inVal 
* @return 
*/ 
public static long getMillForDateTimeDouble(Date startTime, Date endTime) { 
long lTime = startTime.getTime(); 
long eTime = endTime.getTime(); 
long s = eTime - lTime ; 
return s; 
} 
/** 
*  
* @Title:formatDuring 
* @Description: 将毫秒数转换为时分秒  
* @param mss 
* @return 
*/ 
public static String formatDuring(long mss) {   
long days = mss / (1000 * 60 * 60 * 24);   
long hours = (mss % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);   
long minutes = (mss % (1000 * 60 * 60)) / (1000 * 60);   
long seconds = (mss % (1000 * 60)) / 1000;   
return days + " 天 " + hours + " 时 " + minutes + " 分 "   
+ seconds + " 秒 ";    
}   
/**   
* 计算两个日期之间相差的天数   
* @param format yyyyMMdd 
* @param smdate 较小的时间  
* @param bdate  较大的时间  
* @return 相差天数  
* @throws ParseException   
*/     
public static int daysBetween(String format,Date smdate,Date bdate) throws ParseException     
{     
SimpleDateFormat sdf=new SimpleDateFormat(format);   
smdate=sdf.parse(sdf.format(smdate));   
bdate=sdf.parse(sdf.format(bdate));   
Calendar cal = Calendar.getInstance();     
cal.setTime(smdate);     
long time1 = cal.getTimeInMillis();                  
cal.setTime(bdate);     
long time2 = cal.getTimeInMillis();          
long between_days=(time2-time1)/(1000*3600*24);   
return Integer.parseInt(String.valueOf(between_days));            
}     
/**   
* 计算两个日期之间相差的天数   
* 字符串的日期格式的计算 
* @param format yyyyMMdd 
* @param smdate 较小的时间  
* @param bdate  较大的时间  
* @return 相差天数  
* @throws ParseException   
*/ 
public static int daysBetween(String format,String smdate,String bdate) throws ParseException{   
SimpleDateFormat sdf=new SimpleDateFormat(format);   
Calendar cal = Calendar.getInstance();     
cal.setTime(sdf.parse(smdate));     
long time1 = cal.getTimeInMillis();                  
cal.setTime(sdf.parse(bdate));     
long time2 = cal.getTimeInMillis();          
long between_days=(time2-time1)/(1000*3600*24);   
return Integer.parseInt(String.valueOf(between_days));      
} 
/** 
*  
* @Title:getSystemAddMinute 
* @Description: 获取当前系统时间毫秒数 + n分钟后的时间  
* @param currentTimeMillis 当前系统时间毫秒数 
* @param minute 分 
* @return 
*/ 
public static String getSystemByCurrentTimeMillisAndMinute(long currentTimeMillis, int minute){ 
long currentTime = System.currentTimeMillis() + minute * 60 * 1000; 
Date date = new Date(currentTime); 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
return sdf.format(date); 
} 
/** 
*  
* @Title:getDateStrByTimeMillis 
* @Description: 以字符串形式根据毫秒数获取时间  
* @param currentTimeMillis 
* @return 
*/ 
public static String getDateStrByTimeMillis(long currentTimeMillis){ 
Date date = new Date(currentTimeMillis);  
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
return sdf.format(date); 
} 
/** 
*  
* @Title:getDateStrByTimeMillis 
* @Description: 以字符串形式根据毫秒数获取时间  
* @param currentTimeMillis 
* @return 
*/ 
public static Date getDateByTimeMillis(long currentTimeMillis){ 
Date date = new Date(currentTimeMillis);  
return date; 
} 
/****  
* 传入具体日期 ,返回具体日期减一个月。  
*   
* @param date  
*            日期(2014-04-20)  
* @return 2014-03-20  
* @throws ParseException  
*/   
public static String addMonth(String yearMonth) throws ParseException {   
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");   
Date dt = sdf.parse(yearMonth);   
Calendar rightNow = Calendar.getInstance();   
rightNow.setTime(dt);   
rightNow.add(Calendar.MONTH, +1);   
Date dt1 = rightNow.getTime();   
String reStr = sdf.format(dt1);   
return reStr;   
} 
/** 
*  
* @param dateStr   传入的日期字符串 
* @param formater  对传入日期和传出日期的格式化类型 
* @param monthCount 增加月份传入正值,减去月份传入负值 
* @return 
* @throws ParseException  
*/ 
public static String calMonth(String dateStr, String formater, int monthCount) throws ParseException{ 
SimpleDateFormat sdf = new SimpleDateFormat(formater); 
Date dt = sdf.parse(dateStr); 
Calendar rightNow = Calendar.getInstance(); 
rightNow.setTime(dt); 
rightNow.add(Calendar.MONTH, monthCount); 
Date dt1 = rightNow.getTime(); 
String reStr = sdf.format(dt1); 
return reStr; 
} 
} 

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/17057.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论