java日期格式转换yyyymmdd_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;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值