一、随机API:
1、获得当前时间的毫秒值;long System.currentTimeMillis();
例:System.out.println(System.currentTimeMillis()); //输出结果(变动):1656382714503
2、UUID.randomUUID().toString(),随机得到有字母、数字、标记等内容的字符串;
例:System.out.println(UUID.randomUUID().toString());
//输出结果(随机):1b90c339-0de6-443e-b7f8-b0a8fdf8e02b
3、Math.random(),返回0到1之间的随机小数;
例:System.out.println(Math.random()); //输出结果(随机):0.019318190293457382
4、new Random().nextDouble(),随机数;
例:System.out.println(new Random().nextDouble());
//输出结果(随机):0.31183392804469034
二、日期和时间
(一)Date类:在java.util包下
Date类中的常用方法:
1、不带参数的构造方法:代表当前日期对象;
例:
Date date=new Date();
System.out.println(date.toString()); //Tue Jun 28 13:16:38 CST 2022
System.out.println(date.toLocaleString()); //2022-6-28 13:16:38
2、带参数的构造方法:参数可以是毫秒值,代表1970-01-01之后的时间;
例:
Date date=new Date(770000000);
System.out.println(date.toLocaleString()); //输出结果:1970-1-10 5:53:20
System.out.println(date.getHours()); //输出结果:5
3、after(Date date):两个日期如果在后,返回true;
例:
Date date=new Date(770000000);
System.out.println(date.after(new Date(2000))); //true
4、before(Date date):两个日期如果在前,返回true;
例:
Date date=new Date(770000000);
System.out.println(date.before(new Date(2000))); //false
(二)日历类:Calendar,得到年份、月份、第几天等
例:
Calendar c=Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR)); //2022
System.out.println(c.get(Calendar.MONTH)+1); //6
System.out.println(c.get(Calendar.WEEK_OF_YEAR)); //27
(三)日期和时间的格式化类:定义日期或时间的格式
1、应用format方法将日期和时间转换成字符串
例:
Date date=new Date(770000000);
SimpleDateFormat formater
=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
String s=formater.format(date);
System.out.println(s); // 输出:1970年01月10日 05时53分20秒
2、应用parse方法将字符串转换成日期和时间
例: public static void main(String[] args) throws ParseException {
String time="2022-07-01 10:00:00";
SimpleDateFormat formater
=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=formater.parse(time);
System.out.println(date.toLocaleString());
System.out.println(date.getTime()); //输出毫秒值
}
//输出结果:2022-7-1 10:00:00
1656640800000
(四)浮点数的格式化类
例:
DecimalFormat dformat=new DecimalFormat("0.00");
System.out.println(dformat.format(12.2385)); //12.24
(五)JDK1.8日期和时间类
例:
System.out.println(LocalDate.now().toString()); //2022-06-28
System.out.println(LocalDateTime.now().toString()); //2022-06-28T15:10:24.220