package com.taobao.tddl.common.utils.convertor; import java.util.Date; /** * Long <-> Date对象之间的转换 * * @author jianghang 2014-2-18 下午1:59:25 * @since 5.0.0 */ public class LongAndDateConvertor { public static class LongToDateConvertor extends AbastactConvertor { @Override public Object convert(Object src, Class destClass) { if (Long.class.isInstance(src)) { // 必须是Date类型 Long time = (Long) src; // java.util.Date if (destClass.equals(java.util.Date.class)) { return new java.util.Date(time); } // java.sql.Date if (destClass.equals(java.sql.Date.class)) { return new java.sql.Date(time); } // java.sql.Time if (destClass.equals(java.sql.Time.class)) { return new java.sql.Time(time); } // java.sql.Timestamp if (destClass.equals(java.sql.Timestamp.class)) { return new java.sql.Timestamp(time); } } throw new ConvertorException("Unsupported convert: [" + src + "," + destClass.getName() + "]"); } } public static class DateToLongConvertor extends AbastactConvertor { @Override public Object convert(Object src, Class destClass) { if (Date.class.isInstance(src)) { // 必须是Date类型 Date date = (Date) src; return date.getTime(); } throw new ConvertorException("Unsupported convert: [" + src + "," + destClass.getName() + "]"); } } }