Date类
- 描述:类 Date 表示特定的瞬间,精确到毫秒
- 构造函数
// 无参构造 创建一个Date对象,
Date date = new Date();
System.out.println(date); //打印的是当前的日期
//有参构造:Date( long date)
//分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
long l=111111111;
Date date1 = new Date(l);
System.out.println(date1);//给计算机元年加上相应的时间量
打印结果:
- 方法
getTime(); 获取当前时间
setTime(); 给一个日期对象设置上指定的毫秒值
long l=1000*60*60;
Date date = new Date();
Date date1 = new Date(l);
System.out.println(date);//获取当前时间
System.out.println(date1);//给计算机元年加相应的毫秒值
long time = date.getTime();//获取一个日期对象的毫秒值
System.out.println(time);
date.setTime(l);//给一个日期对象设置上指定的毫秒值
System.out.println(date);
输出结果:
看上面的运行结果,因为在运行程序时会有耗时,所以获取的两个毫秒值会有小小的差别
SimpleDateFormat类
SimpleDateFormat类是是一个以与语言环境有关的方式来格式化和解析日期的具体类,可以把一个日期对象格式化成一个文本(字符串) , 也可以把一个日期字符串解析成一个日期对象
- 构造函数
public SimpleDateFormat():使用默认的模式来创建一个SimpleDateFormat对象
public SimpleDateFormat(String pattern):使用指定的模式(规则比如yyyy:MM:dd HH:mm:ss)来创建一个SimpleDateFormat对象
Date date = new Date();
//采用默认的格式,来对日期格式化
SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
String format = simpleDateFormat.format(date);
System.out.println(format);
//采用自己定义的格式,来对日期格式化
SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss E");
String format1 = simpleDateFormat1.format(date);
System.out.println(format1);
运行结果:
- 字符串与日期对象的相互转化
Date-----日期字符串 调用:format()
日期字符串-----Date 调用: parse();
Date date = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
String format = simpleDateFormat.format(date);//把日期对象转换成日期字符串
Date parse = simpleDateFormat.parse(format);//把日期字符串转换成日期对象
运行结果:
其他几个类
- Calendar类
Calendar 类是一个抽象类,不能直接new对象,可以通过他的一个静态成员方法getInstance()来获取他的对象,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
成员方法
public void add(int field,int amount) 根据日历的规则,为给定的日历字段添加或减去指定的时间量
public final void set(int year,int month,int date) 设置日历时间 年月日
Calendar instance = Calendar.getInstance();
//给相应的日历字段,加上会减去相应的量 减去可以填数负数
instance.add(Calendar.YEAR,-1);
int i = instance.get(Calendar.YEAR);
System.out.println(i);
instance.add(Calendar.DAY_OF_MONTH,2);
System.out.println(instance.get(Calendar.DAY_OF_MONTH));
//直接设置日期 set()
Calendar instance1 = Calendar.getInstance();
instance1.set(2000,6,19,14,20,20);
int i1 = instance1.get(Calendar.YEAR);
System.out.println(i1);
运行结果:
- Math类
该类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
//Math 数学工具类
//属性
double pi = Math.PI;
double e = Math.E;
//方法
double num = Math.random(); /*生成随机数 0-----1 之间*/
//获取最值
int max = Math.max(19, 20);
int min = Math.min(20, 40);
int max1 = Math.max(Math.max(19, 20), 100);
//向上取整,向下取整
double ceil = Math.ceil(1.9);
double floor = Math.floor(1.9);
//四舍五入
long round = Math.round(1.48);
System.out.println(round+"=====");
//求一个几次幂
double pow = Math.pow(2, 3);
System.out.println(pow);
//求平方根
double sqrt = Math.sqrt(4);
System.out.println(sqrt);
//求一个数的立方根
double pow2 = Math.pow(8, 1.0/3);
System.out.println(pow2);
//求一个数的绝对值
System.out.println(Math.abs(-1));
//static double cos ( double a)
//返回角的三角余弦。
- Random类
-该类的实例用于生成伪随机数流。
Random random = new Random();
//生成一些随机整数
byte[] bytes= new byte[10];
for (int i = 0; i < 100; i++) {
int num = random.nextInt(); //如果没有传入一个范围,生成的随机数就是int的范围
int num1 = random.nextInt(100); //范围就是 0-99 包含0和99
int num2 = random.nextInt(100)+1;
double num3 = random.nextDouble();
boolean b = random.nextBoolean();
//随机一些byte范围的数,填到这个数组中
random.nextBytes(bytes);
System.out.println(Arrays.toString(bytes));
}
System类
在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
System.gc();运行垃圾回收器
System.exit();终止虚拟机
System.currentTimeMillis() 返回以毫秒为单位的当前时间
long start = System.currentTimeMillis();
for (int i = 0; i < 10; i++) {
System.out.println("abc");
}
long end= System.currentTimeMillis();
System.out.println((end-start)+"毫秒");
//退出JVM
System.exit(0);//给0正常退出 ,非0 强制退出
运行结果: