Date类概述 日期时间类,用来获得当前的日期和时间,我来为大家讲解一下关于Java笔记之好用的工具类?跟着小编一起来看一看吧!

Java笔记之好用的工具类(Java笔记之好用的工具类)

Java笔记之好用的工具类

一、Date类

Date类概述

日期时间类,用来获得当前的日期和时间。

Date类构造方法

Date()

获得当前的系统时间

Date(long date)

根据指定的毫秒值创建日期对象

1000毫秒 等于 1秒

Date类成员方法

long getTime();

获得当前时间的毫秒值。

void setTime(long date)

将时间设置到指定的毫秒值上

// 创建一个日期对象

Date d = new Date();

// 设置时间

d.setTime(1000);

上面两行代码等价下面一行

// 创建一个日期对象

Date d1 = new Date(1000);

时间零点

1970.1.1 00:00:00

二、DateFormat类

DateFormat类的概述

是一个抽象类,不能直接创建该类的对象。

SimpleDateFormat类

是DateFormat的子类,重写了DateFormat所有抽象方法。可以直接创建该类的对象。

用来格式化日期类对象,可以将日期对象格式化成字符串。

SimpleDateFormat类常用构造方法

SimpleDateFormat()

使用默认的日期模式创建格式化对象。

SimpleDateFormat(String pattern)

使用指定的日期模式创建格式化对象。

SimpleDateFormat类常用成员方法

String format(Date date)

将日期对象格式化成指定格式的字符串。

Date parse(String source)

将日期时间字符串转为日期对象

日期对象转换字符串步骤

创建SimpleDateFormat对象并指定日期模式。

调用SimpleDateFormat对象format(Date date)方法

将日期对象格式化成指定格式的字符串。

字符串转日期对象的步骤

创建SimpleDateFormat对象并指定日期模式。

调用SimpleDateFormat对象parse(String str)方法

将日期时间字符串转为日期对象

指定的日期模式要和字符串的时间格式一致。

日期和时间模式

年:yyyy

月:MM

日:dd

时:HH 24小时值 hh 12小时制

分:mm

秒:ss

比如:

* 2017-10-23 09:37:02 yyyy-MM-dd HH:mm:ss

* 2017/10/23 09:37:02 yyyy/MM/dd HH:mm:ss

* 2017年10月23日 09:37:02 yyyy年MM月dd日 HH时mm分ss秒

三、Calendar类

Calender类概述

是一个日历类对象。

是一个抽象类,不能直接创建对象。

如何获得日历类对象?

通过Calendar类的静态方法获得该类对象

static Calendar getInstance()

Calendar类常用方法

Date getTime();获得日期对象

long getTimeInMillis() 获得毫秒值

int get(int field) 根据指定的日历字段获得对应的值。

void set(int field,int value)

将指定日历字段的值设置为指定值value

void add(int field,int value)

将指定日历字段的值在当前的基础上加一个指定的值value

正数,向前偏移,负数,向后偏移

void set(int year,int month , int day)

修改日历上的年月日为指定的值。

注意事项

获得月份要加一,才是我们实际的月份。

四、正则表达式

什么是正则表达式

一个用来定义规则的字符串。

正则表达式的作用

用来校验某一个字符串是否符合指定规则。

正则表达式相关语法

字符

X 匹配字符X

\t 匹配制表符

\r 匹配回车

\n 匹配换行

字符类

[abc] 匹配abc中任意一个字符

[^abc] 匹配除abc以为的任意一个字符

[0-9] 匹配任意一个数字

[a-z] 匹配小写字母的任意一个

[a-zA-Z] 匹配任意的一个字符(包含大小写)

[a-zA-Z_0-9] 匹配所有字母,数字,下划线其中一个

* 中括号中可以放n个字符,但是在匹配时只能匹配其中一个。

预定义字符

. 通配符,可以匹配除\r和\n以外任意一个字符。

\d 等价于 [0-9]

\w 等价于 [a-zA-Z_0-9] 匹配所有字母,数字,下划线其中一个

\s 匹配空格

数量词

X? X可以出现0或1次

X* X可以出现任意次:n次(n>=0)

X X可以出现1次或多次:n次(n>=1)

X{n} X刚好出现n次

X{n,} X至少出现n次,可以等于n

X{n,m} X至少出现n次,至多m次,比如x{2,6} ==> [2,6]

String类中与正则表达式相关的方法

boolean matches(String regex)

判断字符是否符合指定的规则。

符合返回true,否则返回false

五、Math类

Math类常用方法

* static double abs(double a) 返回参数a的绝对值

* static double ceil(double a) 返回大于或等于参数a的最小整数。

* static double floor(double a) 返回小于或等于参数a的最大整数。

* static double pow(double a, double b) 返回a的b次方

* static double sqrt(double a) 求参数a的平方根

* static long round(double a) 求参数a四舍五入的结果

* static double random()

* 返回一个随机小数 范围:0.0到1.0之间,[0.0,1.0)

* 本质还是通过Random类获取随机数。

六、System类

System类常用方法

static long currentTimeMillis()

获得当前时间的毫秒值。

static int exit(int status)

退出JVM,终止程序运行。

status:退出状态,一般给0或-1

0 表示正常退出。

-1 表示异常退出。

static void gc();

提醒垃圾回收器进行垃圾回收。

static void arraycopy(Object src, int srcPos, Object dest,

int destPos, int length)

数组拷贝

src:源数组

srcPos:源数组的起始位置

dest:目标数组

destPos:目标数组的起始位置

length:要拷贝元素的个数

int[] src = {1,2,3,4,5,6}

int[] dest = new int[6];

System.arraycopy(src,0,dest,0,6)

static Properties getProperties()

用来获得操作系统属性:操作系统的名称。

,