Date日期类,Canlendar日历类,Math类,Random随机数学类
Posted tanlei-sxs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(); } }
以上是关于Date日期类,Canlendar日历类,Math类,Random随机数学类的主要内容,如果未能解决你的问题,请参考以下文章
java 使用Date类和DateFormat抽象类和Calendar抽象类实现日历