JavaSE基础(11)——java.util包

目录

1、Random

创建Random对象

方法 

2、Date类

创建Date对象

3、Canlender类

创建Calendar类对象 

方法

4、java.text.SimpleDateFormat类

创建SimpleDateFormat对象 

方法 

 SimpleDateFormat格式规范

5、java.time包

java.time包含的主要类 

方法分类


1、Random

用来生成各种类型的随机数(伪随机数),用随机数种子通过一些算法计算出来的。

创建Random对象
// 无参构造方法内部给定一个随机种子
Random rand = new Random();
//通过System.currentTimeMillis()方法获取当前系统时间:距1970.1.1 0时0分0秒 过去的毫秒数
Long seed = System.currentTimeMillis();
Random rand = new Random(long seed);
方法 
//随机一个整数(可以为负数)
 1.nextInt()
 //随机一个0-i之间的整数
2.nextInt(int i)
 //随机一个0-1之间的小数
3.nextDouble()    
//随机一个长整型的数(可以为负数)   
4.nextLong()
 //随机一个boolean类型的值
5.nextBoolean()
 //随机生成 b数组长度 个byte类型数据
6.nextBytes(byte[] b)

2、Date类

用来存储时间的类,其中很多方法已过期,不建议使用

创建Date对象
//获取当前时间
Date date = new Date();

3、Canlender类

Canlender是用来操作时间的一个抽象类,无法直接通过 new 关键字进行调用

创建Calendar类对象 
Calendar c = Calendar.getInstance();
方法
//获取时间的某个字段内容
get(Calendar.YEAR)
 //单独设置某个字段内容
set(Calendar.YEAR,2022)
 //时间某个字段上下滚动
roll(Calendar.YEAR,true/n)
 //设置宽松模式
setLenient(boolean b)
 //Calendar类型转换成Date类型
getTime(Calendar c)
 //Date类型转成Calendar类型
setTime(Date d)

4、java.text.SimpleDateFormat类

Date与String类型之间的转换 

创建SimpleDateFormat对象 
//规范格式为“yyyy-MM-dd HH:mm:ss”
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
方法 
 //把字符串转成日期类型
sdf.parse(String date) 
//把日期转成字符串类型
sdf.format(Date date)
 SimpleDateFormat格式规范

5、java.time包

jdk1.8 添加的关于时间存储和计算的包

java.time包含的主要类 

1. Instant 时间戳
2. LocalDate    没有时间的日期
3. LocalTime    没有日期的时间
4. LocalDateTime    日期和时间
5. ZonedDateTime    关于时区的时间
6. Year    存储年
7. Month    存储月
8. YearMonth    存储年和月
9. MonthDay    存储月日
10. enum DayOfWeek    存储星期
11. java.time.format.DateTimeFormatter    日期时间格式化
12. Duration     计算两个“时间”间隔
13. Period     计算两个“日期”间隔

方法分类
//now 获取当前日期/时间,创建类实例化对象   
LocalDate date = LocalDate.now();


//of 指定具体日期/时间,创建类实例化对象
LocaDate date = LocalDate.of(2022,01,01); 

//date 转LocalDate
LocalDate date = LocalDate.now();
date.atTime(21,10);

//getYear获取时间对应的年份
LocalDate date = LocalDate.now();
date.getYear();  

LocalDate date = LocalDate.now();
 date.isBefore(); //判断date是否在……之前
 date.isAfter();
 date.isEqual();
 date.isLeapYear();//是否是闰年

//在此日期基础上添加或减少5年,10天
date.plusYears(5);
date.plusDays(10);
date.minusYears(5);

//字符串格式转成日期格式
LocalDate date = LocalDate.parse("2022-01-01")
LocalDate date = LocalDate.parse("2022-01-01",DateTimeFormatter.ofPattern("yyyy-MM-dd"))

//把日期格式转成字符串格式
String d = date.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))

//时间差转换
LocalTime now = LocalTime.now();
LocalTime time = LocalTime.of(17,48,12);
Duration duration = Duration.between(now,time);
 //      时间差转成小时
System.out.println(duration.toHours());
 //      时间差转成分钟
System.out.println(duration.toMinutes());
 //      时间差转成秒
System.out.println(duration.getSeconds());

//获取时间差
LocalDate now = LocalDate.now();
LocalDate date = LocalDate.of(2030,4,30);
Period period = Period.between(now,date);
 //      获取年份差
System.out.println(period.getYears());
 //      获取月份差
System.out.println(period.getMonths());
 //       获取日期差
System.out.println(period.getDays());


  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值