1.Date类
Date date = new Date();获得当前系统时间//构造方法。如:
Date date = new Date(); System.out.println(date);
Wed Jul 28 20:56:43 CST 2021
date.getYear();返回值是从1900年到现在是第几年。1900年是第0年。
date.getMonth();返回值是当前月份减一。
date.getDate();返回值是当前几号。
System.out.println(date.getHours());//几时
System.out.println(date.getMinutes());几分
System.out.println(date.getSeconds());几秒
System.out.println(date.getTime());//获得特定时间的毫秒数date.getDay();//获得今天是这周的第几天//周日是第零天。
2.Format格式化类
2.1 DateFormat(抽象类)要用它字类 SimpleDateFormat(线程不安全)
1.String转Date
首先确定PATTERN格式,每个项目中的PATTERN格式是确定的。
DateFormat dateformat = new SimpleDateFormat(PATTERN);
dateformat.parse(string s);返回值是一个Date类型的数据。
Date date = new Date(); String s = "2020-12-30"; DateFormat dateFormat = new SimpleDateFormat(PATTERN); try { Date date1 = dateFormat.parse(s); System.out.println(date1); } catch (ParseException e) { e.printStackTrace(); } 输出结果:Wed Dec 30 00:00:00 CST 2020
2.Date转String
这里用的是SimpleDateFormat的DateFormat方法。
public class outputStreamTest { public static final String PATTERN = "yyyy-MM-dd"; public static void main(String[] args) { // demo1(); Exercise2 exercise2 = new Exercise2(); Date date = new Date(); String s = "2020-12-30"; DateFormat dateFormat = new SimpleDateFormat(PATTERN); String s1 = dateFormat.format(date); System.out.println(date); System.out.println(s1); 输出结果:Fri Jul 30 16:07:57 CST 2021 2021-07-30
3.LocalDate/LocalDateTime
jdk1.8+ 提供了新的包 java.time.* 维护所有与时间和日期相关的类与接口,更加规范。
如果是1.8之后的版本,推荐使用time包里面的类,这些类全部都是==值不可变且线程安全的类==。
LocalDate: 年 月日 生日/入职时间
LocalDateTime: 年 月日 时分秒
LocalTime: 时分秒
String和Date转换的方法跟SimplDateFormat一样。