1.Date类
Date:表示特定的瞬间,精确到毫秒。
在JDK1.1开始,使用Calendar类实现日期和时间字段之间转换。使用DateFormat类来格式化和解析日期字符串。Date中的相应大部分方法已废弃。
Note:UTC为世界标准时间。GMT为民间标准(格林威治标准时)
构造方法:
public Date();
//分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
public Date(long Date);
//分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00GMT)以来的指定毫秒数。
方法摘要:
int compareTo(Date anotherDate) // 比较两个日期的顺序。
boolean equals(Object obj)//比较两个日期的相等性。
public void getTime() //返回当前时间的毫秒值
public void setTime() //设置当前毫秒值
boolean after(Date when)//测试此日期是否在指定日期之后。
boolean before(Date when)// 测试此日期是否在指定日期之前。
long与Date类型转换
System.currentTimeMillions()//获取系统当前时间,返回值long类型
Date.getTime()(注:需先创建Date对象)
Date与String类型转换
public final String format(Date date);
获取系统时间的两种方法的区别:
第一种:Date time=new Date(); //创建时间对象
System.out.println(time); //输出系统时间
第二种:
将long类型时间转换成Date类型
long l=System.currentTimeMillis();//获取系统当前时间
Date d=new Date(l);
System.out.println(d);
分析:
两种方法的Date时间运行的结果相同,它们都创建时间对象Date,区别在于第二种方法时间对象引用了系统的long型时间。而System.currentTimeMillis()方法返回值为long型,还可以利用此方法计算应用程序的运行时间。
示例代码:(获取当前时间)
import java.util.*; import java.text.*; class DateDemo { public static void main(String[] args) { Date d = new Date();//创建时间对象 System.out.println("1————此刻的北京时间(系统默认时间模式)是: "+d); //将模式封装到SimpleDateformat对象中。 //设定时间模板:某某年某月某日星期几 时:分:秒 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日E hh:mm:ss"); //调用format方法让模式格式化指定Date对象。 String time = sdf.format(d); //按自定义模板输出系统时间 System.out.println("————此刻的北京时间(自定义时间模板格式)是:"+time); //第二种方式 获取系统当前时间 long l = System.currentTimeMillis(); Date d1 = new Date(l); System.out.println("2————此刻的北京时间(系统默认模板格式)是"+d1); } }
运行结果:
2.DateFormat类
DateFormat:使用与语言无关的方式格式化和并解析日期和时间。
是一个日期格式化子类的抽象类。该类可以进行格式化也可以解析字符串。
方法:
String/StringBuffer format(Date date);//将Date日期格式化为日期时间字符串。
3.SimpleDateFormat类
SimpleDateFormat类:在java.text包中。DateFormat的子类。
无参构造方法
SimpleDateFormat(){};
// 用默认的模式和默认语言环境的日期格式符号构造SimpleDateFormat。
public SimpleDateFormat(String pattern){};
//参数Date,创建格式对象。用给定的模式和默认语言环境的日期格式符号构造
格式化日期时间步骤:
1)在创建对象时指定一个格式:YYYY年MM月dd日 HH:mm:ss (如果调用格式化器无参构造,此步骤省略)
2)创建一个格式器SimpleDateFormat
3)创建一个日期对象Date d
4)使用格式化器的formate方法格式化d,得到想要的格式字符串。
示例代码:
运行结果: