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类的使用
本文来自博客园,作者:萧若風,转载请注明原文链接:https://www.cnblogs.com/XiaoRuoFeng/p/16403126.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)