用Timestamp来记录日期时间还是很方便的,但有时候显示的时候是不需要小数位后面的毫秒的,这样就需要在转换为String时重新定义格式。
Timestamp转化为String:SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒
Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间
String str = df.format(now);
String转化为Timestamp:
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = df.format(new Date());
Timestamp ts = Timestamp.valueOf(time);
Date、String、Timestamp之间的转换!
Date 和String之间的转换main函数:
public static void main(String[] args) {
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
String str = null;
// String转Date
str = "2009-01-06";
try {
date = format.parse(str); // Wed sep 26 00:00:00 CST 2007
} catch (ParseException e) {
e.printStackTrace();
}
date = java.sql.Date.valueOf(str); // 只保留日期部分,返回的是java.sql.Date 2007-9-26
System.out.println(date);
// Date转String
date = new Date(); // Wed sep 26 18 17:14:01 CST 2007
str = format.format(date); // 2007-9-26
System.out.println(str);
format = DateFormat.getDateInstance(DateFormat.SHORT);
str = format.format(date); // 07-9-26
System.out.println(str);
format = DateFormat.getDateInstance(DateFormat.MEDIUM);
str = format.format(date); // 2007-9-26
System.out.println(str);
format = DateFormat.getDateInstance(DateFormat.FULL);
str = format.format(date); // 2007年9月26日 星期三
System.out.println(str);
}
Timestamp和String之间转换的函数:
public static void main(String[] args) {
//Timestamp转化为String
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒
Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间
String str = df.format(now);
System.out.println(str);
///String转化为Timestamp:
SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String time = df1.format(date);
Timestamp ts = Timestamp.valueOf(time);
System.out.println(ts);
}