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;
}
}