日期api


jdk8之前的日期时间api 一、java.lang.System类 System类提供的public static long currentTimeMillis()用来返回当前时 间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差 * 此方法适于计算时间差。       二、 java.util.Date类   ----》  子类 java.sql.Date 两个构造器 Date()      创建一个获取当前本地时间的对象 Date(long date)   创建一个指定毫秒数(long date)的对象 两个常用方法 toString()            显示年月日等等 getTime()      获取此 Date 对象自1970年以来对应的毫秒数   如何将 父类java.util.Date  转换成 子类java.sql.Date 类型 java.util.Date dateUtil = new java.util.Date(); java.sql.Date dateSql = new java.sql.Date(dateUtil.getTime());       三、SimpleDateFormat SimpleDateFormat能对日期Date类的格式化和解析   两个操作: 1.格式化:将日期 (Date) ----- >  字符串(String)
SimpleDateFromat sdf = new SimpleDateFormat(); //首先创建SimpleDateFormat类的对象
Date date =  new Date();    //然后还需要一个Date类的对象
String formatDate = sdf.format(date);   //将日期转成了字符串 ,
//把需要转的Date对象作为format方法的形参,返回该日期对象对应的字符串。
sout(formatDate); // 输出的是默认格式

如果我们不想要这个默认格式,则需要我们去设置格式,用SimpleDateFormat类的带参构造器。 

SimpleDateFromat sdf = new SimpleDateFormat(String pattern); 指定自己的格式,具体看api文档

SimpleDateFromat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");  
Date date = new Date();
String dateStr  = sdf.format(date);
sout(dateStr);   //2022-4-14 21:32:28
2.解析  : 格式化的逆过程,字符串(String) ----- > 日期(Date)   SimpleDateFromat sdf = new SimpleDateFormat(); Date date =  sdf.parse(String source) ;   调用parse方法,传进去一个字符串,返回类型是Date类型。 传进去的字符串要符合 SimpleDateFormat 识别的格式 , 这个格式是什么呢??具体要看你造 SimpleDateFromat  对象时 传进去的构造器形参格式是什么了!!
无参就是默认格式。    

 四、java.util.Calendar(抽象类)日历类的使用

既然是抽象类,那么它如何实例化呢?两种方式

方式一:创建其子类(GregorianCalendar)的对象

方式二:调用其静态方法getInstance()     Calendar calendar = Calendar.getInstance();

 常用方法

get、set、add

getTime(日历类 ----> Date)、setTime(Date -----> 日历类),

具体看api文档