时间工具类

  • 本类主要是用来作为时间的类型转换,主要是Date和String互转,具体看代码注释,实在不行自己加demo,实现!
  • 天天向上!
    /**
     * 日期处理
     */
    public class DateUtil extends DateUtils {
    
    	public static final String DATEFORMAT_ALL = "yyyy-MM-dd HH:mm:ss";
    	public static final String DATEFORMAT_ALL_SPRIT = "yyyy/MM/dd HH:mm:ss";
    	public static final String DATEFORMAT_DATE = "yyyy-MM-dd";
    	public static final String DATEFORMAT_TIME = "HH:mm:ss";
    	public static final String DATEFORMAT_NO_SEC = "yyyy-MM-dd HH:mm";
    	public static final String DATAFORMAT_DATE_PART = "yyyy-MM-dd HH:00:00";
    
    	/**
    	 * 当前时间 包含时分秒
    	 */
    	public static Date getCurTime() {
    		return new java.sql.Timestamp(Calendar.getInstance().getTime().getTime());
    	}
    
    	/**
    	 * 当前时间 不包含时分秒
    	 */
    	public static Date getCurDate() {
    		Calendar calendar = Calendar.getInstance();
    		calendar.set(Calendar.HOUR_OF_DAY, 0);
    		calendar.set(Calendar.MINUTE, 0);
    		calendar.set(Calendar.SECOND, 0);
    		calendar.set(Calendar.MILLISECOND, 0);
    		return calendar.getTime();
    	}
    
    	/**
    	 * 字符串日期时间按指定格式转换
    	 *
    	 * @param strDateTime 字符串时间
    	 * @param type        时间格式
    	 */
    	public static Date stringToDate(String strDateTime, String type) throws Exception {
    		if (StringUtils.isEmpty(strDateTime)) {
    			return new Date();
    		}
    		SimpleDateFormat dateFormat = new SimpleDateFormat(type);
    		return dateFormat.parse(strDateTime);
    	}
    
    	/**
    	 * 字符串日期时间按指定格式转换
    	 *
    	 * @param strDateTime 字符串时间
    	 */
    	public static Date stringToDate(String strDateTime) throws Exception {
    		return stringToDate(strDateTime, DATEFORMAT_DATE);
    	}
    
    	/**
    	 * 字符串转成日期
    	 *
    	 * @param strDate 字符串日期
    	 */
    	public static Date stringTimeToDate(String strDate) throws Exception {
    		Date date = stringToDateTime(strDate);
    		Calendar calendar = Calendar.getInstance();
    		calendar.setTime(date);
    		calendar.set(Calendar.HOUR_OF_DAY, 0);
    		calendar.set(Calendar.MINUTE, 0);
    		calendar.set(Calendar.SECOND, 0);
    		calendar.set(Calendar.MILLISECOND, 0);
    		return calendar.getTime();
    	}
    
    	/**
    	 * 字符串日期转Date类型
    	 * @param strTime 字符串时间(输入格式:yyyy-MM-dd HH:mm:ss)
    	 */
    	public static Date stringToDateTime(String strTime) {
    		try {
    			return stringToDate(strTime, DATEFORMAT_ALL);
    		} catch (Exception e) {
    			try {
    				return stringToDate(strTime, DATEFORMAT_ALL_SPRIT);
    			} catch (Exception e1) {
    				return new Date();
    			}
    		}
    	}
    
    	/**
    	 * 获取字符串日期时间
    	 *
    	 * @param date 时间对象
    	 * @param type 时间格式
    	 */
    	public static String dateToString(Date date, String type) {
    		if (date == null) {
    			return "";
    		} else {
    			SimpleDateFormat dateFormat = new SimpleDateFormat(type);
    			return dateFormat.format(date);
    		}
    	}
    	/**
    	 * 获取字符串日期时间
    	 *
    	 * @param date 时间对象
    	 */
    	public static String dateToString(Date date) {
    		return dateToString(date, DATEFORMAT_DATE);
    	}
    
    	/**
    	 * 获取字符串日期时间(输出格式:yyyy-MM-dd HH:mm:ss)
    	 * @param date 时间对象
    	 */
    	public static String datetimeToString(Date date) {
    		return dateToString(date, DATEFORMAT_ALL);
    	}
    
    	/**
    	 * 获取字符串日期时间   yyyy-MM-dd HH:00:00
    	 *
    	 * @param date 时间对象
    	 * @return
    	 */
    	public static String partDatetimeToString(Date date) {
    		return dateToString(date,DATAFORMAT_DATE_PART);
    	}
    	public static Date getDate(String dateString) throws Exception {
    		if (StringUtils.isNotEmpty(dateString)){
    			return getDate(dateString, DATEFORMAT_ALL);
    		}
    		else {
    			return null;
    		}
    	}
    
    
    
    	public static Date getDate(String dateString, String dateformat) throws Exception {
    		SimpleDateFormat format = new SimpleDateFormat(dateformat);
    		return format.parse(dateString);
    	}
    
    	/**
    	 * 将传入时间加上指定年月日
    	 * @param date
    	 * @param year
    	 * @param month
    	 * @param day
    	 * @return
    	 */
    	public static Date getPlusDate(Date date, int year, int month, int day){
    		Calendar calendar = Calendar.getInstance();
    		if(date != null){
    			calendar.setTime(date);
    		}
    		calendar.add(Calendar.YEAR, year);
    		calendar.add(Calendar.MONTH, month);
    		calendar.add(Calendar.DAY_OF_MONTH, day);
    		return calendar.getTime();
    	}
    
    	/**
    	 * 将传入时间加上指定时分秒
    	 * @param date
    	 * @param hour
    	 * @param minute
    	 * @param second
    	 * @return
    	 */
    	public static Date getPlusDate2(Date date, int hour, int minute, int second){
    		Calendar calendar = Calendar.getInstance();
    		if(date != null){
    			calendar.setTime(date);
    		}
    		calendar.add(Calendar.HOUR_OF_DAY, hour);
    		calendar.add(Calendar.MINUTE, minute);
    		calendar.add(Calendar.SECOND, second);
    		return calendar.getTime();
    	}
    
    	/**
    	 * 将传入的日期设定指定时间点
    	 * @param date
    	 * @param hour
    	 * @param minute
    	 * @param second
    	 * @return
    	 */
    	public static Date getSpecDate(Date date, int hour, int minute, int second){
    		Calendar calendar = Calendar.getInstance();
    		if(date != null){
    			calendar.setTime(date);
    		}
    		calendar.set(Calendar.HOUR_OF_DAY, hour);
    		calendar.set(Calendar.MINUTE, minute);
    		calendar.set(Calendar.SECOND, second);
    		return calendar.getTime();
    	}
    
    	/**
    	 * 获取当前系统时间, 时间格式为:yyyy-MM-dd HH:00:00
    	 * @return
         */
    	public static String getNowTime() {
    		Calendar calendar = Calendar.getInstance();
    		calendar.set(Calendar.MINUTE, 0);
    		calendar.set(Calendar.SECOND, 0);
    		calendar.set(Calendar.MILLISECOND, 0);
    		return dateToString(calendar.getTime(),DATAFORMAT_DATE_PART);
    	}
    
    	/**
    	 * 获取当前系统时间的上一个小时,时间格式为:yyyy-MM-dd HH:00:00
    	 * @return
         */
    	public static String getNowUpTime() {
    		Calendar calendar = Calendar.getInstance();
    		calendar.add(Calendar.HOUR,-1);
    		calendar.set(Calendar.MINUTE, 0);
    		calendar.set(Calendar.SECOND, 0);
    		calendar.set(Calendar.MILLISECOND, 0);
    		return dateToString(calendar.getTime(),DATAFORMAT_DATE_PART);
    	}
    }

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值