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

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