一、SimpleDateFormat类和Date类详解
public class SimpleDateFormat extends DateFormat
SimpleDateFormat继承自DateFirmat类,DateFromat继承自Format
下边是SimpleDateFormat类和Date类之间的转化:
import java.text.SimpleDateFormat;
import java.util.Date;
public class FormatDateTime {
public static String toLongDateString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
return myFmt.format(dt);
}
public static String toShortDateString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("yy年MM月dd日 HH时mm分");
return myFmt.format(dt);
}
public static String toLongTimeString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("HH mm ss SSSS");
return myFmt.format(dt);
}
public static String toShortTimeString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("yy/MM/dd HH:mm");
return myFmt.format(dt);
}
public static void main(String[] args) {
Date now=new Date();
System.out.println(FormatDateTime.toLongDateString(now));
System.out.println(FormatDateTime.toShortDateString(now));
System.out.println(FormatDateTime.toLongTimeString(now));
System.out.println(FormatDateTime.toShortTimeString(now));
}
}
二、java.util.Date类和java.sql.Timestamp类之间的互相转化
在我们做网站开发的时候,怎么把一个java.util.Date类型转化成java.sql.Timestamp类型呢?
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setLenient(false);
Date date=new Date();
Timestamp invoiceDate = new Timestamp(sdf.parse(date.toLocaleString()).getTime());
但是
toLocaleString()函数已经过时了,可以用
DateFormat.format(Date date)取代
DateFormat ddf = DateFormat.getDateInstance();
DateFormat dtf = DateFormat.getTimeInstance();
DateFormat ddtf = DateFormat.getDateTimeInstance();
Date date = new Date();
System.out.println("日期:" + ddf.format(date));
System.out.println("时间:" + dtf.format(date));
System.out.println("日期时间:" + ddtf.format(date));
SimpleDateFormat sdf = (SimpleDateFormat) DateFormat.getDateTimeInstance();
System.out.println("日期时间:" + sdf.format(date));