class="java">/** * @Title: StringDateUtil.java * @Package com.unionpay.igpp.mgm.util * @Description: 时间处理通用类 * @author Dason * @date 2016年11月1日 下午1:55:24 * @version V1.0 */ package com.unionpay.bdpp.mgm.util; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import org.apache.log4j.Logger; import com.unionpay.common.util.StringUtil; /** * @ClassName: StringDateUtil * @Description: 时间处理通用类 * @author Dason * @date 2016年11月1日 下午1:55:24 * */ public class StringDateUtil { private final static Logger logger = Logger.getLogger(StringDateUtil.class); /** * * @Title: getWeekOfDate * @Description:获取当日周几信息 * @author Dason * @param date * --当日信息 * @return int --如周一为1;周日为7 * @throws */ public static int getWeekOfDate(Date date) { int w = 1; try { Calendar calendar = Calendar.getInstance(); calendar.setTime(date); w = calendar.get(Calendar.DAY_OF_WEEK) - 1; } catch (Exception e) { logger.error("getWeekOfDate is error ", e); } return w == 0 ? 7 : w; } /** * * @Title: parseStringToDate * @Description: 字符串返回Date对象 如请求参数"20161106","yyyyMMdd" * @author Dason * @param dt * --请求日期如"20161106" * @param format * --转化格式样式如"yyyyMMdd" * @return Date --返回类型 Date对象 * @throws */ public static Date parseStringToDate(String dt, String format) { SimpleDateFormat sdf = new SimpleDateFormat(format); try { return sdf.parse(dt); } catch (ParseException e) { return new Date(); } } /** * * @Title: parseyyyyMMdd * @Description: 截取字符串 model 对象对日期 需要特殊处理 如:输入为20161101 通过该类可以转化为 2016-11-01 * 201611 为 2016-11 * @author Dason * @param dateStr * --输入参数为时间字符串如20161101 * @return 设定文件 * @return String 返回类型 * @throws */ public static String parseyyyyMMdd(String dateStr) { if (!StringUtil.isBlank(dateStr)) { if (dateStr.length() == 6) { return dateStr.substring(0, 4) + "-" + dateStr.substring(4, 6); } else if (dateStr.length() == 8) { return dateStr.substring(0, 4) + "-" + dateStr.substring(4, 6) + "-" + dateStr.substring(6, 8); } } return dateStr; } /** * * @Title: parseHHmmss * @Description: 截取字符串 model 对象对日期 需要特殊处理 如:输入为094406 通过该类可以转化为 09:44:06 * 0944 为 09:44 * @author Dason * @param dateStr * @return 设定文件 * @return String 返回类型 * @throws */ public static String parseHHmmss(String dateStr) { if (!StringUtil.isBlank(dateStr)) { if (dateStr.length() == 4) { return dateStr.substring(0, 2) + ":" + dateStr.substring(2, 4); } else if (dateStr.length() == 6) { return dateStr.substring(0, 2) + ":" + dateStr.substring(2, 4) + ":" + dateStr.substring(4, 6); } } return dateStr; } public static String parseMMddHHmmss(String dateStr) { if (!StringUtil.isBlank(dateStr)) { if (dateStr.length() == 10) { return dateStr.substring(0, 2) + "-" + dateStr.substring(2, 4) + " " + dateStr.substring(4, 6) + ":" + dateStr.substring(6, 8) + ":" + dateStr.substring(8, 10); } } return dateStr; } }