JAVA8 新特性 - 日期和时间API

一、JDK8(Java8)之前的日期和时间API

1、java.lang.System类中获取时间戳的方法:

currentTimeMillis()方法:返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差,称为时间戳。此方法用于计算时间差。

2、Java中两个Date类的使用:

(1)两个Date类的关系:

java.util.Date
|---java.sql.Date

(2)java.util.Date 类:

① 构造器:

Date date1 = new Date(); //创建一个对应当前时间的Date对象
Date date2 = new Date(155030620410L); //创建指定毫秒数的Date对象

② 方法:

toString():返回当前的具体时间(具体到时、分、秒和时区)

getTime():获取当前Date对象对应的毫秒数(时间戳)

(3)java.sql.Date 类:对应着数据库中日期类型的变量

① 如何实例化:

java.sql.Date date3 = new java.sql.Date(35235325345L);
System.out.println(date3); //1971-02-13

② 如何将 java.util.Date 对象转换成 java.sql.Date 对象:

情况一:

Date date4 = new java.sql.Date(2343243242323L);
java.sql.Date date5 = (java.sql.Date) date4;

情况二:

Date date6 = new Date();
java.sql.Date date7 = new java.sql.Date(date6.getTime());

3、simpleDateFormat的使用:

(1)格式化(日期 → 字符串):

SimpleDateFormat sdf = new SimpleDateFormat(); //实例化simpleDateFormat对象
Date date = new Date(); //实例化日期对象
String format = sdf.format(date); //日期转换字符串

特别说明:常见开发中,基本不使用默认的simpleDateFormat构造器,而是使用指定方式进行格式化(即:使用带参数的构造器),如下:

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String format1 = sdf1.format(date);

(2)解析(格式化的逆过程:字符串 → 日期):

String str = "19-12-18 上午11:43";
Date date1 = sdf.parse(str);

4、Calendar(日历)类的使用:

(1)实例化:

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

方式二(推荐):调用其静态方法getInstance()

(2)常用方法:

get()、set()、add()、getTime()、setTime()

二、JDK8(Java8)中新日期和时间API

1、LocalDate、LocalTime、LocalDateTime的使用(不可变特性):

(1)now():获取当前的日期(LocalDate类)、时间(LocalTime类)、日期+时间(LocalDateTime类)

LocalDate localdate = LocalDate.now();
LocalTime localtime = LocalTime.now();
LocalDateTime localdatetime = LocalDateTime.now();

(2)of():设置指定的年、月、日、时、分、秒,没有偏移量

LocalDateTime localdatetime1 = LocalDateTime.of(2020,10,6,36,16,6);

(3)getXXX():获取相关属性

(4)withXXX():设置相关属性

(5)plusXXX():增加相关属性值

(6)minusXXX():减少相关属性值

说明:

① LocalDateTime 相较于LocalDate、LocalTime,使用频率要高;

② Localdate、LocalTime、LocalDateTime 类似于Calendar。

2、Instant类的使用

posted @   萧若風  阅读(164)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示