JDK8中关于日期和时间的API测试
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,本篇内容主要讲解"JDK8中关于日期和时间的API测试",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JDK8中关于日期和时间的API测试"吧!目录JDK
千家信息网最后更新 2025年11月12日JDK8中关于日期和时间的API测试
本篇内容主要讲解"JDK8中关于日期和时间的API测试",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JDK8中关于日期和时间的API测试"吧!
目录
JDK 8中关于日期和时间的API测试
JDK 8 之前日期和时间的API测试
//1.System类中的currentTimeMillis() public void test1(){ long time = System.currentTimeMillis(); //返回当前时间与1970年1月1日0时0分0秒之间以毫秒为时间为单位的时间差。 //称为时间戳 System.out.println(time);//1628416744054 } /* java.util.Date类 |---java.sql.Date类(两个是子父类的关系) 1.两个构造器的使用 >构造器一:Date():创建一个对应当前时间的Date对象 >构造器二:创建指定毫秒数的Date对象 2.两个方法的使用 >toString():显示当前的年、月、日、时、分、秒 >getTime():获取当前Date对象对应的毫秒数。(时间戳) 3.java.sql.Date对应着数据库中的日期类型的变量 >如何实例化 >如何将java.util.Date对象转换为java.sql.Date对象 */ @Test public void test2(){ //构造器一:Date():创建一个对应当前时间的Date对象 Date date1 = new Date(); System.out.println(date1.toString());//Sun Aug 08 18:07:27 CST 2021 //构造器二:创建指定毫秒数的Date对象 Date date2 = new Date(1534798293927L); System.out.println(date2.toString());//Tue Aug 21 04:51:33 CST 2018 //创建java.sql.Date对象 java.sql.Date date3 = new java.sql.Date(237493269533L); System.out.println(date3);//1977-07-12 //如何将java.util.Date对象转换为java.sql.Date对象 //情况一:(面向对象)// Date date4 = new java.sql.Date(23682368236343L);// java.sql.Date date5 = (java.sql.Date)date4; //情况二: Date date6 = new Date(); java.sql.Date date7 = new java.sql.Date(date6.getTime()); } /* SimpleDateFormat的使用:SimpleDateFormat对日期Date类的格式化和解析 1.两个操作: 1.1 格式化:日期--->字符串 1.2 解析:格式化的逆过程:字符串--->日期 2.SimpleDateFormat的实例化 */ @Test public void testSimpleDateFormat() throws ParseException { //实例化SimpleDateFormat SimpleDateFormat sdf = new SimpleDateFormat(); //格式化:日期--->字符串 Date date = new Date(); System.out.println(date); String format = sdf.format(date); System.out.println(format); //解析:格式化的逆过程,字符串--->日期 String str = "21-8-9 下午3:17"; Date date1 = sdf.parse(str); System.out.println(date1); //******************按照指定的方式格式化和解析:调用带参的构造器*****************************// SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyy.MMMMM.dd GGG hh:mm aaa"); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm ss"); //格式化 String format1 = sdf1.format(date); System.out.println(format1);//2021-08-09 04:02 13 //解析:要求字符串必须是符合SimpleDateFormat识别的格式(通过构造器参数体现),否则,报异常 Date date2 = sdf1.parse("2019-08-09 04:02 13"); System.out.println(date2); } /* 练习一:字符串"2020-09-08"转换为java.sql.Date */ @Test public void testExer() throws ParseException { String brith = "2020-09-08"; SimpleDateFormat sdf1 = new SimpleDateFormat("yyy-MM-dd"); Date date = sdf1.parse(brith); java.sql.Date brithDate = new java.sql.Date(date.getTime()); System.out.println(brithDate); } /* Calendar日历类(抽象类)的使用 */ @Test public void testCalendar(){ //1.实例化 //方式一:创建其子类(GregorianCalendar)的对象 //方式二:调用其静态方法getInstance() Calendar calendar = Calendar.getInstance(); //2.常用方法 //get() int days = calendar.get(Calendar.DAY_OF_MONTH); System.out.println(days); System.out.println(calendar.get(Calendar.DAY_OF_YEAR)); //set() calendar.set(Calendar.DAY_OF_MONTH,22); days = calendar.get(Calendar.DAY_OF_MONTH); System.out.println(days); //add() calendar.add(Calendar.DAY_OF_MONTH,-3); days = calendar.get(Calendar.DAY_OF_MONTH); System.out.println(days); //getTime():日历类 -->Date Date date1 = calendar.getTime(); calendar.setTime(date1); days = calendar.get(Calendar.DAY_OF_MONTH); System.out.println(days); }JDK 8中关于日期和时间的API测试
LocalDate 、 LocalTime 、 LocalDateTime 类是其中较重要的几个类,它们的实例是不可变的对象,分别表示使用 ISO -8601日历系统的日期、时间、日期和时间。它们提供了简单的本地日期或时间,并不包含当前的时间信息,也不包含与时区相关的信息。
> LocalDate 代表 IOS 格式( yyyy - MM - dd )的日期,可以存储生日、纪念日等日期。> LocalTime 表示一个时间,而不是日期。
> LocalDateTime 是用来表示日期和时间的,这是一个最常用的类之一。
注: ISO -8601日历系统是围际标准化组织制定的现代公民的门期和时间的表示法,也就是公历。
/* LocalDate,LocalTime,LocalDateTime的使用 */ public void test1(){ //now():获取当前的日期,时间,日期+时间 LocalDate localDate = LocalDate.now(); LocalTime localTime = LocalTime.now(); LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDate);//2021-08-09 System.out.println(localTime);//21:19:25.264 System.out.println(localDateTime);//2021-08-09T21:19:25.264 //of():设置指定的年,月,日,时,分,秒.没有偏移量 LocalDateTime localDateTime1 = LocalDateTime.of(2020,10,6,13,23,43); System.out.println(localDateTime1); //getXxx():获取相关的属性 System.out.println(localDateTime.getDayOfMonth()); System.out.println(localDateTime.getDayOfWeek()); System.out.println(localDateTime.getMonth()); System.out.println(localDateTime.getMonthValue()); System.out.println(localDateTime.getMinute()); //体现不可变性 //withXxx():设置相关的属性 LocalDate localDate1 = localDate.withDayOfMonth(22); System.out.println(localDate); System.out.println(localDate1); LocalDateTime localDateTime2 = localDateTime.withHour(4); System.out.println(localDate); System.out.println(localDateTime2); }/* Instant的使用 类似于java.util.Date类 */ @Test public void test2(){ //now():获取本初子午线对应的标准时间 Instant instant = Instant.now(); System.out.println(instant);//2021-08-09T15:08:46.818Z //添加时间的偏移量 OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8)); System.out.println(offsetDateTime);//2021-08-09T23:08:46.818+08:00 //toEpochMilli():获取自1970年1月1日0时0分0秒(UTC)开始的毫秒数-->Date类的getTime() long milli = instant.toEpochMilli(); System.out.println(milli);//1628521726818 //ofEpochMilli():通过给定的毫秒数,获取Instant实例-->Date(long millis) Instant instant1 = Instant.ofEpochMilli(12243455253L); System.out.println(instant1);//1970-05-22T16:57:35.253Z } /* DateTimeFormatter:格式化或解析日期\时间 类似于SimpleDateFormat */ @Test public void test3(){// 方式一:预定义的标准格式,如:ISO_LOCAL_DATE_TIME;ISO_LOCAL_DATE;ISO_LOCAL_TIME DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME; //格式化:日期-->字符串 LocalDateTime localDateTime = LocalDateTime.now(); String str1 = formatter.format(localDateTime); System.out.println(localDateTime);//2021-08-09T23:43:52.820 System.out.println(str1);//2021-08-09T23:43:52.82 //解析:字符串-->日期// TemporalAccessor parse = formatter.parse(" 2021-08-09T23:43:52.82");// System.out.println(parse);// 方式二:本地化相关的格式,如:ofLocalizedDateTime// FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT:适用于LocalDateTime DateTimeFormatter formatter1 = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.LONG); //格式化: String str2 = formatter1.format(localDateTime); System.out.println(str2);//2021年8月10日 上午10时32分48秒// 本地化相关的格式,如:ofLocalizedDate()// FormatStyle.FULL / FormatStyle.LONG / FormatStyle.MEDIUM / FormatStyle.SHORT:适用于LocalDate DateTimeFormatter formatter2 = DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM); //格式化 String str3 = formatter2.format(LocalDate.now()); System.out.println(str3);//2021-8-10 // 重点!!!!!!!:方式三:自定义的格式.如:ofPattern("yyyy-MM-dd hh:mm:ss") DateTimeFormatter formatter3 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss"); //格式化 String str4 = formatter3.format(LocalDateTime.now()); System.out.println(str4);//2021-08-10 10:53:40 //解析 TemporalAccessor accessor = formatter3.parse("2021-08-10 10:53:40"); System.out.println(accessor);//{MinuteOfHour=53, NanoOfSecond=0, MicroOfSecond=0, HourOfAmPm=10, SecondOfMinute=40, MilliOfSecond=0},ISO resolved to 2021-08-10 }到此,相信大家对"JDK8中关于日期和时间的API测试"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
日期
时间
格式
对象
字符
字符串
构造器
测试
实例
方式
中关
两个
方法
日历
标准
信息
内容
属性
常用
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中关村信安网络安全
计算机论文数据库设计怎么写
对网络金融和网络安全的认识
dx100以太网服务器功能
数据库课程设计报告学生选课
我的世界服务器公告栏怎么做复制
软件开发技术部门岗位设置
互联网科技可以办器械证吗
15字宣传语 网络安全
游戏麻将软件开发
游戏服务器存储会有多大
美国机房服务器租用
软件开发需要什么说明书
网络安全 服务理念口号
数据库 复合索引
上海亦恺互联网科技 客户经理
网络技术学院都有什么专业
cry网络安全吗
数据库维度粒度设计
服务器上怎么接电脑上的网络
mc进服务器闪退
性能测试网络安全专业
软件开发 11月份找工作
微信数据库文件修复
宜城网络安全工作
九阴真经服务器地址
查学校网络安全事件
合肥 数据库 徐坤
上海网络安全职业学院分数线
水文软件开发教程