package com.demo.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtils {
/**
* <p>Des: 只包含年月日的时间格式
*/
public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd";
/**
* <p>Des: 包含年月日带时、分、秒的时间格式,时间为24小时制的
*/
public static final String DEFAULT_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";
/**
* <p>Des: 包含年月日带时、分的时间格式,时间为24小时制的
*/
public static final String DEFAULT_TIME_NO_SCE_FORMAT = "yyyy-MM-dd HH:mm";
/**
* <p>Des: 只包含时、分、秒的时间格式,时间为24小时制的
*/
public static final String TIME_NO_YMD_FORMAT = "HH:mm:ss";
/**计算2个日期间的天数*/
public static int betweenDayOfDay(String time1,String time2){
int day = 0;
Date date1 = parseToDate(time1,"yyyy-MM-dd");
Date date2 = parseToDate(time2,"yyyy-MM-dd");
long timediff = date1.getTime()-date2.getTime();
day = Integer.valueOf(String.valueOf(timediff/3600000/24));
return day;
}
/**
*
* @author 占翔
* @description 将格式为yyyy/MM/dd格式的字符串转换为yyyy-MM-dd
* @param str
* @return
* @modified
*/
public static String formatToStr(String str){
String[] split_str = str.split("/");
String year = split_str[0];
String month = Integer.valueOf(split_str[1])<10 && !split_str[1].contains("0")?"0"+split_str[1]:split_str[1];
String days = Integer.valueOf(split_str[2])<10 && !split_str[2].contains("0")?"0"+split_str[2]:split_str[2];
return year + "-" + month + "-" + days;
}
/**
*
* <p>Description 将date换化为yyyy-MM-dd格式的字符串</p>
* <p>Copyright Copyright(c)2007</p>
* @create time: 2007-3-2 下午02:39:30
* @version 1.0
*
* @modified records:
*/
public static String formatToDate(Date date) {
SimpleDateFormat formater = new SimpleDateFormat(DEFAULT_DATE_FORMAT);
return formater.format(date);
}
/**
*
* <p>Description 将date换化为yyyy-MM-dd HH:mm:ss格式的字符串</p>
* <p>Copyright Copyright(c)2007</p>
* @create time: 2007-3-2 下午02:46:35
* @version 1.0
*
* @modified records:
*/
public static String formatToTimestamp(Date date) {
SimpleDateFormat formater = new SimpleDateFormat(DEFAULT_TIME_FORMAT);
return formater.format(date);
}
/**
*
* <p>Description 将date换化为HH:mm:ss格式的字符串</p>
* <p>Copyright Copyright(c)2007</p>
* @create time: 2007-3-2 下午02:46:39
* @version 1.0
*
* @modified records:
*/
public static String formatToTime(Date date) {
SimpleDateFormat formater = new SimpleDateFormat(TIME_NO_YMD_FORMAT);
return formater.format(date);
}
/**
*
* @author 占翔
* @description 将date换化为yyyy-MM-dd HH:mm
* @param date
* @return
* @modified
*/
public static String formatToTimeNosce(String date){
Date thedate = DateUtils.parseToDate(date, "yyyy-MM-dd");
SimpleDateFormat formater = new SimpleDateFormat(DEFAULT_TIME_NO_SCE_FORMAT);
return formater.format(thedate);
}
/**
*
* <p>Description 将date换化为用户指定的格式</p>
* <p>Copyright Copyright(c)2007</p>
* @param pattern 日期格式
* @param date 日期
* @create time: 2007-3-2 下午02:47:42
* @version 1.0
*
* @modified records:
*/
public static String formatDate(Date date,String pattern) {
SimpleDateFormat formater = new SimpleDateFormat(pattern);
return formater.format(date);
}
/**
*
* <p>Description 将指定格式的字符串转化为日期类型</p>
* <p>Copyright Copyright(c)2007</p>
* @create time: 2007-3-2 下午03:07:49
* @version 1.0
*
* @modified records:
*/
public static Date parseToDate(String date, String pattern) {
SimpleDateFormat formater = new SimpleDateFormat(pattern);
try {
return formater.parse(date);
} catch (ParseException e) {
e.printStackTrace();
return null;
}
}
/**
*
* <p>Description 将传入的日期加一天</p>
* <p>Copyright Copyright(c)2007</p>
* @create time: 2007-3-2 下午03:38:49
* @version 1.0
* @param Date 被加的时间对象
* @modified records:
*/
public static Date nextDay(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_YEAR, 1);
return calendar.getTime();
}
/**
*
* <p>Description 将传入的日期减一天</p>
* <p>Copyright Copyright(c)2007</p>
* @create time: 2007-3-2 下午04:36:40
* @version 1.0
* @param Date 被减的时间对象
* @modified records:
*/
public static Date forwardDay(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_YEAR, -1);
return calendar.getTime();
}
/**
*
* <p>Description 将传入的日期加指定的天数</p>
* <p>Copyright Copyright(c)2007</p>
* @create time: 2007-3-2 下午04:04:15
* @version 1.0
* @param Date 被加的时间对象
* @param size 增加的天数
* @modified records:
*/
public static Date addDay(Date date, int size) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_YEAR, size);
return calendar.getTime();
}
/**
* <p>Description 将传入的字符串格式的日期增加指定的天,返回减后的字符串格式的日期
* 字符串日期格式必需为:yyyy-MM-dd</p>
* <p>Copyright Copyright(c)2007</p>
* @create time: 2007-3-5 上午09:34:03
* @version 1.0
*
* @modified records:
*/
public static String addDay(String date, int size) {
Date d = parseToDate(date,DEFAULT_DATE_FORMAT);
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
calendar.add(Calendar.DAY_OF_YEAR, size);
d = calendar.getTime();
return formatToDate(d);
}
/**
* <p>Description 将传入的字符串格式的日期增加指定的天,返回减后的字符串格式的日期
* 字符串日期格式为用户指定</p>
* <p>Copyright Copyright(c)2007</p>
* @create time: 2007-3-5 上午09:43:00
* @version 1.0
*
* @modified records:
*/
public static String addDay(String date, int size, String pattern) {
Date d = parseToDate(date,pattern);
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
calendar.add(Calendar.DAY_OF_YEAR, size);
d = calendar.getTime();
return formatDate(d,pattern);
}
/**
*
* <p>Description 将传入的日期加指定的天数</p>
* <p>Copyright Copyright(c)2007</p>
* @create time: 2007-3-2 下午04:33:58
* @version 1.0
* @param Date 被减的时间对象
* @param size 减去的天数
* @modified records:
*/
public static Date reduceDay(Date date, int size) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DAY_OF_YEAR, -size);
return calendar.getTime();
}
/**
*
* <p>
* Description 将传入的字符串格式的日期减去指定的天,返回减后的字符串格式的日期
* 字符串日期格式必需为:yyyy-MM-dd
* </p>
* <p>Copyright Copyright(c)2007</p>
* @create time: 2007-3-2 下午04:36:40
* @version 1.0
* @param Date 被减的时间对象
* @modified records:
*/
public static String reduceDay(String date,int size) {
Date d = parseToDate(date,DEFAULT_DATE_FORMAT);
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
calendar.add(Calendar.DAY_OF_YEAR, -size);
return formatToDate(calendar.getTime());
}
/**
*
* <p>Description 将传入的字符串格式的日期减一天,返回减后的字符串格式的日期
* 字符串日期格式为自己定义</p>
* <p>Copyright Copyright(c)2007</p>
* @create time: 2007-3-2 下午05:13:14
* @version 1.0
*
* @modified records:
*/
public static String reduceDay(String date,int size,String pattern) {
Date d = parseToDate(date,pattern);
Calendar calendar = Calendar.getInstance();
calendar.setTime(d);
calendar.add(Calendar.DAY_OF_YEAR, -size);
return formatDate(calendar.getTime(),pattern);
}
/**
*
* <p>Description 将传入的日期加指定的月数</
评论2
最新资源