常用类
java.util.Date
类表示特定的瞬间,精确到毫秒
构造器:
Date()
:使用无参构造器创建的对象可以获取本地当前时间。Date(long date)
常用方法
getTime()
: 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。toString()
: 把此 Date 对象转换为以下形式的 String:dow mon dd hh:mm:ss zzz yyyy
,其中dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat),zzz是时间标准。Date date = new Date();
System.out.println(date); //Mon Apr 19 21:42:57 CST 2021
System.out.println(System.currentTimeMillis()); //1618839778051
System.out.println(date.getTime()); //1618839777959
Date date1 = new Date(date.getTime());
System.out.println(date1.getTime()); //1618839777959
System.out.println(date1.toString()); //Mon Apr 19 21:42:57 CST 2021
java.text.SimpleDateFormat
类Date类的API不易于国际化,大部分被废弃了,java.text.SimpleDateFormat类是一个不与语言环境有关的方式来格式化和解析日期的具体类
格式化:日期 ==》字符串
SimpleDateFormat()
:默认的模式和语言环境创建对象
public SimpleDateFormat(String pattern)
:该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用:
public String format(Date date)
:方法格式化时间对象date
解析:字符串 ==》日期
public Date parse(String source)
:从给定字符串的开始解析文本,生成一个日期。Date date = new Date(); // 产生一个Date实例
SimpleDateFormat formater = new SimpleDateFormat(); // 产生一个formater格式化的实例
//打印输出默认的格式,String类型
System.out.println(formater.format(date)); // 21-4-19 下午10:13
//自定义日期格式
SimpleDateFormat formater2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//打印自定义日期格式,String类型
System.out.println(formater2.format(date)); // 2021-04-19 22:13:12
//解析字符串成日期类型
Date date1 = formater2.parse(formater2.format(date));
System.out.println(date1); //Mon Apr 19 22:19:32 CST 2021
java.util.Date
VS java.sql.Date
日期最终要入库,需要java.util.Date类转变成java.sql.Date类型
//情况一:
Date date1 = new java.sql.Date(2343243242323L);
java.sql.Date date2 = (java.sql.Date) date1;
//情况二:
Date date3 = new Date();
java.sql.Date date4 = new java.sql.Date(date3.getTime());
第一代:jdk 1.0 Date类
第二代:jdk 1.1 Calendar类,一定程度上替换Date类
第三代:jdk 1.8 提出了新的一套API
本地日期:LocalDate
本地时间:LocalTime
本地日期时间: LocalDateTime
常用方法
//now():获取当前日期、时间、日期+时间
LocalDate localDate = LocalDate.now();
LocalTime localTime = LocalTime.now();
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDate); //2021-04-21
System.out.println(localTime); //22:45:08.678
System.out.println(localDateTime); //2021-04-21T22:45:08.678
//of():设置时间,没有偏移量
LocalDate ofDate = LocalDate.of(2021, 4, 21);
LocalDateTime ofDateTime = LocalDateTime.of(2021, 4, 21, 22, 49);
System.out.println(ofDate); //2021-04-21
System.out.println(ofDateTime); //2021-04-21T22:49
//getXxx():获取日期时间
DayOfWeek dayOfWeek = localDateTime.getDayOfWeek();
System.out.println(dayOfWeek); //WEDNESDAY
//withXxx():修改日期时间返回新对象
LocalDate withlocalDate = localDate.withDayOfMonth(22);
System.out.println(withlocalDate); //2021-04-22
原文:https://www.cnblogs.com/silloutte/p/14687451.html