/** * Copyright (c)2010-2011 Enterprise Website Content Management System(EWCMS), All rights reserved. * EWCMS PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * http://www.ewcms.com */ package com.ewcms.common.convert; import java.sql.Timestamp; import java.text.ParseException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; /** * 转换成Timestamp数据类型的值 * <p>缺省日期格式<code>yyyy-MM-dd HH:mm:ss</code></p> * * @author WangWei */ class SqlTimestampConvert implements ConvertDateable<Timestamp> { private final static DateFormat DEFAULT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private SimpleDateFormat format; @Override public void setFormat(String format) { this.format = new SimpleDateFormat(format); } @Override public Timestamp parse(String value) throws ConvertException { try { if (value == null || value.equals("")){ return new Timestamp(DEFAULT.parse(DEFAULT.format(new java.util.Date(Calendar.getInstance().getTime().getTime()))).getTime()); } if(format != null){ return new Timestamp(format.parse(value).getTime()); } return new Timestamp(DEFAULT.parse(value).getTime()); } catch (ParseException e) { throw new ConvertException(e); } } @Override public String parseString(Timestamp value) { if (format != null) { return format.format(value); } else { return DEFAULT.format(value); } } }