JDK8中关于日期和时间的API测试
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本篇内容主要讲解"JDK8中关于日期和时间的API测试",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"JDK8中关于日期和时间的API测试"吧!目录JDK
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
手机端怎么自己开个方舟服务器
怎么链接公司的数据库
宕昌县有什么数据库
航海王燃烧意志如何找到服务器
数据库系统自身的安全漏洞
玄武区常规软件开发信息推荐
大话西游2服务器怎么取名字
江苏交友软件开发费用
cs起源连接安全服务器
南理工紫金数据库18级卷子
安卓软件开发调试修改
广东软件开发公司排行榜
jet数据库组件
尚车网络技术有限公司
矛盾分析法网络技术
河南电脑软件开发定做
邮政信息网络安全
专科计算机网络技术课程推荐
软件开发阶段的工作内容
ios软件开发怎么收费
杭州迅城网络技术有限公司
不做软件开发
ftp服务器列表
tcsp数据库
廊坊网络安全公益广告
学网络安全买什么电脑
荷兰外贸仿品服务器
服务器常见管理端口号
数字ic和软件开发哪个前途
总结计算机网络技术笔试题