时间戳: 当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差。
1. java.lang.System类:此方法适于计算时间差
这个类我们用的最多的就是currentTimeMillis()方法,返回值是long型,获取系统当前时间的时间戳。
long timeMillis = System.currentTimeMillis();
System.out.println(timeMillis);
2. java.util.Date类:表示特定的瞬间,精确到毫秒
2.1 构造器
- 1)Date() 使用无参构造器创建的对象可以获取本地当前时间
- 2)Date(long date) 传入时间戳,获取指定时间戳对应的Date实例
2.2 常用方法
- 1)getTime() 返回当前时间的时间戳
- 2)toString() 把Date对象转换为以下形式的String:dow mon dd hh:mm:ss zzz yyy (dow是一周中的某一天 Sun、Mon、Tue、Wed、Thu、Fri、Sat;zzz是时间标准)。
Date date = new Date();
System.out.println(date);
// getTime()方法返回的是时间戳
long time = date.getTime();
System.out.println(time);
System.out.println(System.currentTimeMillis());
// toString()方法
String timeStr = date.toString();
System.out.println(timeStr);
3. java.text.SimpleDateFormat类
主要应用是对日期进行格式化输出。
3.1 格式化
- 1)SimpleDateFormat() 默认的模式和语言环境创建对象。
- 2)public SimpleDateFormat(String pattern) 该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用public String foramt(Date date) 方法格式化时间对象date。
3.2 解析
- 1)public Date parse(String source) 从给定字符串的开始解析文本,以生成一个日期。
// 产生一个Date实例
Date date = new Date();
// 产生一个formater格式化的实例
SimpleDateFormat formater = new SimpleDateFormat();
// 打印默认格式
System.out.println(formater.format(date));
SimpleDateFormat formater02 = new SimpleDateFormat("yyyy年MM月dd日 EEE HH:mm:ss");
// 按照格式化输出
System.out.println(formater02.format(date));
// 解析操作
try {
// 实例化一个指定格式的对象
Date date2 = formater02.parse("2008年08月08日 星期一 08:08:08");
// 将指定的日期解析后格式化按指定格式输出
System.out.println(date2);
} catch (ParseException e) {
e.printStackTrace();
}