1.Date类
Date类的构造方法有两个,public Date()和public Date(long date).
Date date1 = new Date(14686531L);
System.out.println(date1);
Date date2= new Date();
System.out.println(date2);
其中第一个参数表示:1970-01-01 00:00:00到指定时间的毫秒数
第二个表示:当前时间。
使用Date将字符串转换为日期格式:Date的年月日是在1900-01的基础上来累加。因此,要现将字符串中的年月日切分出来,然后再使用Date表示。
//2. 出生日期
//2000-12-16->转化为date对象
//在1900-01的基础上来累加
String str = "2000-12-16";
//现将年月日切分出来
String[] arr = str.split("-");
int year = Integer.parseInt(arr[0]) - 1900;
int month = Integer.parseInt(arr[1]) - 1;
int day = Integer.parseInt(arr[2]);
//Date date = new Date(2000,12,16);
//如果某个类、方法、属性出现了删除线,并且有提示需要进行警告压制
//压制内容deprecation,表示这个类、方法、属性已过时
//已过时:指当前代码依然可以用,但是不推荐使用,在后续迭代版本中可能会被抛弃
@SuppressWarnings("deprecation")
Date date = new Date(year, month, day);
System.out.println(date);
2.使用DateFormat子类
因为使用Date类与字符串时间相互转化十分困难,因此,考虑Date类的其他子类。DateFormat是日期/时间格式化子类的抽象类,它与以语言无关的方式格式化并解析日期或时间,是抽象类,所以使用其子类SimpleDateFormat实现日期和字符串的相互转换。
// 2000-12-16
// 2000/12/16
// 2000.12.16
// 12/16/2000
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// 将字符串转化为日期
Date date = sdf.parse("2000-12-16 16:52:39");
System.out.println(date);
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String str = sdf.format(date);
System.out.println(str);
3.calender类
java开发Calendar的目的是为了替换Date类,但是,该类设计的也是相当失败。仅有几个方法还值得使用一下。Calendar类是一个抽象类,不过提供了一个getInstance方法可以生成一个实例对象。通过该对象可以设置当前时间和获取日期。
// 创建Calendar对象
Calendar c = Calendar.getInstance();
System.out.println(c);
// 获取Hour属性的值
int hour = c.get(Calendar.HOUR);
System.out.println(hour);
c.set(Calendar.HOUR, 12);
// 获取Date对象的方法
Date d = c.getTime();
System.out.println(d);