java.util.Date
表示日期和时间,精确到毫秒。
计算机中用一个long表示时间,从1970年1月1日00:00:00.0开始每过一毫秒这个long值加1。
Date有一个子类也叫Date,在java.sql包中,注意在用日期时一定要用 java.util.Date类,java.sql的不用,以后会报错
常用构造方法
Date():创建当前日期的日期对象
Date(long):创建long表示的时间,整数代表1970年之后的时间,负数是之前的时间
例子:
Date date=new Date();
常用方法
equal():判断两个日期是否相同
getTime():返回日期对象的毫秒数,即:当前时间 距离 1970年1月1日的毫秒
例子:
Date date=new Date();
int year=date.getTime()/1000/60/60/24/365;
System.out.println(year);
当前时间 距离 1970年的 年数
java.text.SimpleDateFormat
用于格式化日期
常用构造方法
SimpleDateFormat(String):String表示的是具体的格式
常用方法
format(Date):将一个Date对象格式化成一个字符串
parse(String):将固定格式的String转化成一个Date对象
日期、时间的代表符号
yyyy四位年yy两位年MM月份 始终两位M月份dd始终两位日期d日期HH24小时制 始终两位H24小时制hh12小时制 始终两位h12小时制mm分钟 始终两位ss秒 始终两位SSS:毫秒
例子
格式日期
Date d1 = new Date();
System.out.println(d1);
Date d2 = new Date(0);
System.out.println(d2);
DateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
String d1Str = sdf.format(d1);
System.out.println(d1Str);
DateFormat sdf_yyyyMMddHHmmss = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
System.out.println(sdf_yyyyMMddHHmmss.format(d1));
DateFormat sdf_yyyyMMddhhmmss = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
System.out.println(sdf_yyyyMMddhhmmss.format(d1));
将字符串日期转化成Date对象
String dateStr = "1990/10/1 10:10:10";
DateFormat sdf_yyyyMMddHHmmss = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = sdf_yyyyMMddHHmmss.parse(dateStr);
System.out.println(date);