package com.goo.g;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* @author : YangLH
* @date: Sep 17, 2012
*/
public class Test {
private static final Log log = LogFactory.getLog(Test.class);
/**
* 构造定时器表达式
*
* @param time
* 形如 “6:30”的字符串
* @return 返回形如“0 30 6 ? * *”的结果
*/
public static String buildCronExpression(String time) {
String formatStr = "hh:mm:ss";
DateFormat dFormat = new SimpleDateFormat(formatStr);
Date date = null;
try {
date = dFormat.parse(time);
} catch (ParseException e) {
formatStr = "hh:mm";
dFormat = new SimpleDateFormat(formatStr);
try {
date = dFormat.parse(time);
} catch (ParseException e1) {
log.error("[ Error ] >>> 数据输入错误,无法解析");
return "0 0 0 ? * *";
}
log.info("[ Info ] >>> 时间格式不匹配,正在转换格式");
}
Calendar calendar = new GregorianCalendar();
calendar.setTime(date);
int sec = calendar.get(Calendar.SECOND);
int min = calendar.get(Calendar.MINUTE);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
return sec + " " + min + " " + hour + " ? * *";
}
}
转载于:https://my.oschina.net/songm/blog/78952