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();
}
}