1. 程式人生 > >Date日期類,Canlendar日歷類,Math類,Random隨機數學類

Date日期類,Canlendar日歷類,Math類,Random隨機數學類

驗證碼 抽象類 獲得 之間 random類 lis 10.6 void instance

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隨機數學類