文章目录_希望能为你提供帮助!
Date(第一代)
java.util.Date
一个日期类
构造方法
1.Date()
分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
Date date1=new Date(); //该对象为当前时间
System.out.println(date1);
//输出Mon Sep 13 14:50:16 CST 2021
这样拿到的是 当前系统的时间 单格式不是我们习惯的格式
2.Date(long date)
分配 Date 对象并初始化此对象,表示的时间为 1970年+2124124毫秒
Date date2=new Date(2124124); //对象为1970+2124124毫秒后的时间
System.out.println(date2);
//输出Thu Jan 01 08:35:24 CST 1970
参数为一个毫秒值(L类型的),创建这个对象表示的时间就是 基准时间+毫秒值的得时间 1秒=1000毫秒
成员方法
1. long getTime()
返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
Date date1=new Date();
System.out.println(date1.getTime());
//1631516148002
SimpleDateFormat
java.text.SimpleDateFormat
是DateFormat的实现子类 日期格式化类
构造方法
1.SimpleDateFormat(String pattern)
规定格式化模式
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
//输出形式2021年09月13日 14:59:08 星期一
Pattern 为模式, 可自我设定 列:“yyyy-MM-dd HH-mm-ss” 打印出来是“2020-01-05 22-30-15” 注:可以将其中的 - 换成 ‘年’‘月’等其他的的不能换
y 年
M 月
d 天
H (0-23)时
h (0-11)时
E 星期中的天数
m 分
s 秒
S 毫秒
成员方法
1.String format(Date date)
将一个 Date 格式化为日期/时间字符串。
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
String format = simpleDateFormat.format(new Date());
//输出2021年09月13日 14:59:08 星期一
将系统格式转成 我们传的固定格式,返回字符串
2.Date parse(String source)
Date date = simpleDateFormat.parse("2021年09月13日 14:59:08 星期一");
将一个字符串按照之前规定的模式转换成一个Date对象
该方法会抛出异常
Calendar (第二代)
java.util.Calendar
是一个日历类 使用起来非常灵活
注:这个类是抽象类 但是他有一个成员方法可以得到他的实现子类(GregorianCalendar)
构造方法
1.protected Calendar()
该类构造方法私有化,只能通过成员方法getInstance()获取该对象
成员方法
1.static Calendar getInstance();
有多个重载方法,一般不使用
Calendar calendar = Calendar.getInstance(); //只能通过该方法获取 日历对象 时间为当前时间
获取一个日历对象
2.int get(int field)
Calendar calendar = Calendar.getInstance(); //只能通过该方法获取 日历对象 时间为当前时间
calendar.get(Calendar.YEAR); //获得年份
calendar.get(Calendar.MONTH+1); //获得月份 默认是0-11 要+1
calendar.get(Calendar.DATE); //获得日
calendar.get(Calendar.HOUR); //获得时
calendar.get(Calendar.MINUTE); //获得分
calendar.get(Calendar.SECOND); //获得秒
calendar.get(Calendar.DAY_OF_WEEK); //获得星期
想获取那个值就获取哪个值
想怎么输出时间格式就怎么输出时间格式,非常灵活
3.void set(int field, int value)
将给定的日历字段设置为给定值。
Calendar calendar = Calendar.getInstance();
System.out.println(calendar.get(Calendar.YEAR)); //获得年份);
System.out.println("设置年份========");
calendar.set(Calendar.YEAR,2077);
System.out.println(calendar.get(Calendar.YEAR)); //获得年份);
//输出
2021
设置年份========
2077
4.void add(int field, int amount)
根据日历规则,将指定的(有符号的)时间量添加到给定的日历字段中。
5.Date getTime()
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();
获取一个date对象
静态成员参数
可通过折现参数获取对应的值
1.YEAR 年
2.MONTH 月
3.DATE 天
4.DAY_OF_MONTH 天
5.HOUR 时
6.MINUTE 分
7.SECOND 秒
等等…
LocalDateTime(第三代)
java.time.LocalDateTime
第三代时间类 可以相对于Date 内部方法众多;并且在多线程方面
构造方法
私有
成员方法
1.LocalDateTime now()
用于获取LocalDateTime对象
LocalDateTime localDateTime = LocalDateTime.now(); //获取日期对象
2.int getXxxx()
获取指定的时间值
LocalDateTime localDateTime = LocalDateTime.now(); //获取日期对象 localDateTime.getYear(); localDateTime.getMonthValue(); localDateTime.getDayOfMonth(); localDateTime.getHour(); localDateTime.getMinute(); localDateTime.getSecond(); localDateTime.getDayOfWeek();
方法有很多,可以在JDK8上查看
3.LocalDateTime pulsXxxx(Int value)
将当前日期类的时间增加 某天/年/月 等等 以方法而定
LocalDateTime localDateTime = LocalDateTime.now(); //获取日期对象System.out.println(localDateTime.getDayOfMonth()); //打印日期LocalDateTime newLocalDateTime = localDateTime.plusDays(10); //添加日期System.out.println(newLocalDateTime.getDayOfMonth()); //再次输出日期//输出1323
4.LocalDateTime minusXxxx(Int value)
将当前日期类的时间减少 某天/年/月 等等 以方法而定
LocalDateTime localDateTime = LocalDateTime.now(); //获取日期对象System.out.println(localDateTime.getDayOfMonth()); //打印日期LocalDateTime newLocalDateTime2 = localDateTime.minusDays(10); //减少日期System.out.println(newLocalDateTime2.getDayOfMonth()); //再次输出日期
DateTimeFormatter
java.time.DateTimeFormatter
一个日期格式化类 相当于SimpleDateFormat类
构造方法
成员方法
1.DateTimeFormatter ofPattern(“string”)
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss E");
可以得到一个已规定格式的一个的dateTimeFormatter工具类
2.String format(LocalDateTime localDateTime)
将一个LocalDateTime 对象进行格式化 并返回格式化后的字符串
LocalDateTime localDateTime = LocalDateTime.now(); //获取日期对象DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss E");String format = dateTimeFormatter.format(localDateTime);
Instant
java.time.instant
时间戳 可以和Date对等 并且二者可以相互转换
成员方法
1.Instant now()
Instant instant = Instant.now();//输出2021-09-13T09:21:38.040Z
获取对象
输出内容个Date略有不同