Date类在java.util包中,常常用来表示当前的时间,我们可以直接打印Date的对象来获取当前时间
Date d=new Date();
System.out.println(d); //打印的是美国时间表示格式
Date类中也有丰富的方法,比如getTime()方法表示的是,从1970年0点0分到现在的毫秒数
Date d=new Date();
System.out.println(d.getTime());
也可以在类初始化的时候,这个年份是从1900年算起的,如我要放入1995年
Date d1=new Date(95,9,5,0,0,0); //这句话的意思是 1995年 9月5号0点0时0分
了解了这个特性后可以做一些有趣的程序,比如我一共活了多少天
package com.sxt;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date d=new Date();
Date d1=new Date(95,9,5,0,0,0);
System.out.println((d.getTime()-d1.getTime())/1000/3600/24);
}
}
由于直接打印Date 的对象,表示的时间是美国格式的,不方便观看,我们可以通过SimpleDateFormat类中的format方法来格式化Date 对象
package com.sxt;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class SimpleDemo {
public static void main(String[] args) throws ParseException {
String s1="yyyy年MM月dd日 HH时mm分ss秒"; //常见的几种日期正则表达式
String s2="yyyy-MM-dd HH:mm:ss";
String s3="yyyy/MM/dd HH:mm:ss";
String s4="yyyy/MM/dd '@'HH:mm:ss"; //字符必须记得加单引号
Date d=new Date();
SimpleDateFormat sdf=new SimpleDateFormat(s1); //新建一个不同的字符串格式化类
String ss1=sdf.format(d); //返回一个字符串
System.out.println(ss1);
Date d2=sdf.parse(ss1); //返回日期的对象
System.out.println(d2);
}
}