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);
}
}