Javaにおける日付と文字列の簡単な相互変換について

1518 ワード

public interface Convert<S, T> {
	
	/**
	 *          
	 * @param s
	 * @return
	 */
	public T convertFrom(S s);
	
	/**
	 *          
	 * @param t
	 * @return
	 */
	public S convertTo(T t);

}
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


public class DefaultConvert implements Convert<String, Date> {

	private SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	
	// DefaultConvert      
	private static DefaultConvert defaultConvert = null;
	private DefaultConvert(){}
	
	public static DefaultConvert getInstance(){
		if(null == defaultConvert){
			
			synchronized (DefaultConvert.class) {
				if(null == defaultConvert){
					defaultConvert = new DefaultConvert();
				}
			}
		}
		
		return defaultConvert;
	}
	

	@Override
	public Date convertFrom(String s) {
		Date date = null;
		
		try {
			date = format.parse(s);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		
		return date;
	}

	@Override
	public String convertTo(Date t) {
		
		return format.format(t);
	}

}
import java.util.Date;

public class Test {
	
	public static void main(String[] args) {
		
		Convert<String, Date> convert = DefaultConvert.getInstance();
		
		Date date = new Date();
		String str = convert.convertTo(date);
		
		System.out.println(str);
		
		Date d = convert.convertFrom(str);
		System.out.println(d);
	}
	

}