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基础18-日期类和日历类

日期和日历类的基础知识点

日历类Calendar

java 使用Date类和DateFormat抽象类和Calendar抽象类实现日历

JavaSE核心之一:Date类Calendar类Math类枚举;

时间操作类与日历类