Date日期类,Canlendar日历类,Math类,Random随机数学类

时间:2023-03-09 02:32:48
Date日期类,Canlendar日历类,Math类,Random随机数学类

Date日期类,SimpleDateFormat日期格式类

Date  表示特定的时间,精确到毫秒

常用方法

  getTime()

  setTime()

  before()

  after()

  compareTo() 比较

  toString()

DateFormat是日期/时间格式化抽象类

SimpleDateFormat日期/时间格式化子类

SimpleDateFormat(模板字符串)

常用方法:

format()  Date转换成字符串

parse ()  字符串转换成Date

package com.date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class SimpleDateDemo {
public static void main(String[] args) throws Exception {
Date data =new Date();
System.out.println(data);
System.out.println(data.getTime());//毫秒数
data.setTime(1542116028315l);
System.out.println(data); String strDate="2018-11-13 10:11:30.345";
Date d=null;
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
d= dateFormat.parse(strDate);
System.out.println("字符串转换为日期: "+d); SimpleDateFormat dateFormat2=new SimpleDateFormat("yyyy年mm月dd hh:mm:ss");
System.out.println("将日期转换为字符串 "+dateFormat2.format(d)); }
}

Calendar类

常用方法

  getInsrttance()

  getTime()     //得到Date对象

  get(int field)    //获得年,月,日

set()     //设置年月日

  before()

  after()

  compareTo( )  //比较

package com.date;

import java.util.Calendar;

public class ConlendarDemo {
public static void main(String[] args) {
Calendar calendar=Calendar.getInstance();//得到日历类对象
System.out.println(calendar);
System.out.println(calendar.get(Calendar.YEAR));//返回给定字段值
System.out.println(calendar.get(Calendar.MONTH));
System.out.println(calendar.get(Calendar.DATE));
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));//24小时制
System.out.println(calendar.get(Calendar.MINUTE));
System.out.println(calendar.get(Calendar.SECOND));
calendar.set(Calendar.YEAR, 2019);
System.out.println(calendar) ;
System.out.println(calendar.getTimeInMillis());//得到毫秒数
}
}

  

Math数学工具类 

常用方法

  sqrt()              //开方根

  ceil(double a)  //比a大的整数

  floor()             //比a小的整数

  pow( )    //幂

  round()         //四舍五入

  random()  //产生随机数

Random随机数类

java中  三种产生随机数方法

1,通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字

2,通过Math.random()返回一个0到1之间的double值

3.通过Random类来产生一个随机数,这是专业的Random工具类,功能强大

常用方法

  nextBytes()

  nextInt()

  nextInt(int n)   //产生到多少的随机数

  nextBoolean()

  nextFloat()

  nextDouble()

package com.date;

import java.util.Random;

public class Math_RandomDemo {
public static void main(String[] args) {
System.out.println(Math.floor(10.55));
System.out.println(Math.ceil(-10.55));
System.out.println(Math.pow(2, 3));
System.out.println(Math.round(10.6));
System.out.println(Math.random()); Random random=new Random();
System.out.println(random.nextInt());
System.out.println(random.nextInt(20));
System.out.println(System.currentTimeMillis());
}
}

  

案例  随机验证码

package com.date;

import java.util.Random;

public class RandomYZ {
public static void main(String[] args) {
System.out.println("四位验证码如下:"+RandomGen.codeGen());
}
} class RandomGen{ //生成四位不重复的验证码
public static String codeGen() {
char [] codeSequence= {'A','B','C','D','E','F','G','H','I','1','2','3','4','5'};
Random random=new Random();
StringBuilder sb=new StringBuilder();//动态字符串
int count=0;
while(true) {
char c=codeSequence[random.nextInt(codeSequence.length)];//随机产生一个下标,通过下标取出字符数组中对应的字符
if(sb.indexOf(c+" ")==-1) {//假设取出来的字符在动态字符串中不存在 代表没有重复的
sb.append(c);//添加到动态字符串中
count++;
if(count==4) {
break;
}
}
}
return sb.toString();
}
}