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