/** * 将制定字符串型日期按照模板转化为基于其他模板的字符串型日期 * @param value 待转换的字符串型日期 * @param inFormat 原始的模板 * @param outFormat 新的模板 * @return 转化为的结果 */ public static String transform(String value,String inFormat,String outFormat){ Date date = parseDate(value,inFormat); if (date == null) return ""; return formatDate(date,outFormat); } }
/** * 按照缺省模版解析日期 * * <p>缺省模版为yyyyMMddHHmmss</p> * * @param value 字符串型的日期 * @return 日期实例 */ public static Date parseDate(String value){ return parseDate(value,"yyyyMMddHHmmss"); }
public ExprValue getValue(DataProvider provider) throws FormulaException { if (getArgumentCount() < 1){ throw new FormulaException("to_char function need at least 1 argument.we have " + getArgumentCount()); } String pattern = "yyyyMMddHHmmss"; if (getArgument(1) != null){ pattern = getArgument(1).getValue(provider).getString(); } Date value = getArgument(0).getValue(provider).getDate(); return new ExprValue(DateUtil.formatDate(value, pattern)); } }
/** * 按照模版解析日期 * @param value 字符串型的日期 * @param pattern 模版 * @return 日期实例 */ public static Date parseDate(String value,String pattern){ return parseDate(value,pattern,null); }
public ExprValue getValue(DataProvider provider) throws FormulaException { if (getArgumentCount() < 1){ throw new FormulaException("to_date function need at least 1 argument.we have " + getArgumentCount()); } String pattern = "yyyyMMddHHmmss"; if (getArgument(1) != null){ pattern = getArgument(1).getValue(provider).getString(); } String value = getArgument(0).getValue(provider).getString(); return new ExprValue(DateUtil.parseDate(value, pattern)); } }