【Date、DateFormat、Calendar、Math、System、包装类、正则表达式】常用API

1. Date:日期对象与毫秒值之间的互转

1.1. 日期对象---->毫秒值:

//创建日期对象

Date date =new Date();

//调用getTime()方法获取当前日期的毫秒值(long型)

long time =date.getTime();

System.out.println(time);

结果:1510535762500

1.2. 毫秒值---->日期对象:

//方法一:创建对象时通过构造方法传递毫秒值

Date date =new Date(151000000000L);

//打印日期格式

System.out.println(date);

结果:Tue Oct 15 00:26:40 CST 1974

 

//方法二:通过setTime()方法传毫秒值

Date date =new Date();

date.setTime(151000000000L);

//打印日期格式

System.out.println(date);

结果:Tue Oct 15 00:26:40 CST 1974

 

1.3. 总结:

(1) Date类主要用于进行日期毫秒值之间的互换

(2) 通过无参构造获取的Date表示系统的当前时间

(3) 毫秒值的价值在于可以使日期进行数学计算

(4) Java的时间原点 1970-1-1 0:0:0时刻称为0毫秒值

 

2. DateFormat&SimpleDateFormat:

2.1. 概念:日期对象转换成自定义的格式

2.2. 使用方式:

DateFormat 是抽象类,所以不能直接创建对象,需要通过子类重写父类的方法

2.2.1. 将日期对象按照自定义的格式输出

1: 创建子类SimpleDateFormat对象

       在子类的构造方法中,写自定义的格式

       SimpleDateFormat(String 格式)

 

2: 子类的对象调用父类方法,格式化

   String format(Date date)

 

:

//通过多态,子类向上转型,传入自定义日期格式

DateFormat df =new SimpleDateFormat("yyyyMMdd");

//创建当前日期对象

Date date =new Date();

//通过format()方法将日期转成自定义格式,String变量接收

String time =df.format(date);

//打印结果

System.out.println(time);

 

结果:2017年11月13日

 

 

2.2.2. 将字符串转换成日期对象

1: 创建子类SimpleDateFormat对象

    在子类的构造方法中,写自定义的格式        SimpleDateFormat(String 格式)

 

2: 子类对象,调用父类方法 parse

Date parse(String s) 字符串转成日期对象

 

注意:需要转换的字符串日期格式需要与子类构造方法中的日期格式一致

 

:

//创建子类SimpleDateFormat对象并指定日期格式

DateFormat df =new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");

//调用父类方法parse()传入日期字符串将其转成日期格式,用Date对  象接收

Date date =df.parse("2017-11-13 10:05:40");

//打印结果(Date格式)

System.out.println(date);

结果:Mon Nov 13 10:05:40 CST 2017

 

2.2.3. 总结:

2.2.3.1. SimpleDateFormat(子类)主要用于:

(1) format方法:Date类型的日期转换成自定义格式的字符串

(2) parse方法将字符串形式的日期(自定义日期格式)转换为Date类型的日期

(3) 时间字符匹配含义:

y

M

d

H

m

s

 

 

 

 

3. Calendar:(日历)

3.1. 概念:对日历进行操作

3.2. 使用:

3.2.1. 创建对象:

Calendar类为抽象类,不能创建对象,通过该类的静态方法getInstance()方法返回一个该类对象

 

:

//Calendar类的静态方法 getInstance()获取他的子类对象

Calendar cal = Calendar.getInstance();

 

3.2.2. Calendar类的方法:

3.2.2.1. int  get ( int )方法:获取指定日历字段(,,...)

:

//创建日历对象

Calendar cal = Calendar.getInstance();

//获取当前日历(系统日历)的年份

int year =cal.get(Calendar.YEAR);

//打印结果

System.out.println(year);

结果:2017

 

3.2.2.2. set(int,int):设置日历(要修改的日历字段,修改后的数据)

:

//创建日历对象

Calendar cal = Calendar.getInstance();

//将当前年份改为2019年(当前2017年)

cal.set(Calendar.YEAR, 2019);

//打印当前日期

System.out.println(new Date());

//打印日历年份值

System.out.println(cal.get(Calendar.YEAR));

结果:Mon Nov 13 10:43:17 CST 2017

2019

 

3.2.2.3. set(int,int,int): 修改日历,直接传递年,,

:

// 创建日历对象

Calendar cal = Calendar.getInstance();

// 将当前年份改为2019年3月18日(当前2017年11月13日)

cal.set(2019, 3, 18);

// 打印当前日期

System.out.println(new Date());

// 打印日历年份值

System.out.println(

cal.get(Calendar.YEAR) +"年" +  cal.get(Calendar.MONTH) +"月" +

 cal.get(Calendar.DAY_OF_MONTH) +"日");

结果:Mon Nov 13 10:49:03 CST 2017

2019年3月18日

 

3.2.2.4. add(int,int) 日历的偏移:(要偏移字段,偏移量)

:

// 创建日历对象

Calendar cal = Calendar.getInstance();

// 将当前年份向后偏移3年(当前2017年)

cal.add(Calendar.YEAR,3);

// 打印当前日期

System.out.println(new Date());

// 打印日历年份值

System.out.println(cal.get(Calendar.YEAR));

结果:Mon Nov 13 10:54:16 CST 2017

2020

 

 

 

 

 

4. 基本数据类型的包装类

4.1. 概念及意义:

将基本数据类型进行封装,为基本数据类型提供更多的方法,主要用于基本数据类型字符串直接进行互相转换

 

基本数据类型包装类

byte       Byte

short      Short

int        Integer

long       Long

float      Float

double     Double

boolean    Boolean

char       Character

 

4.2. 使用方式: parse数据类型(字符串)

:

//Integer是int类型的包装类,int,String互转

//Integer类静态方法 static int parseInt(String 必须数字格   )

int i = Integer.parseInt("123");

System.out.println(i+1);

//String转成double

double d = Double.parseDouble("1.1");

System.out.println(d+1);

结果:124

2.1

 

转换原理:包装类对象的方法inValue()

 

Integer i =new Integer("123");

//非静态方法inValue() 字符串转成int

int m =i.intValue();

System.out.println(m+1);

 

注意:包装类具有自动装箱与拆箱的功能,不用可以手动装拆箱\

5. Math:

5.1. 概念及意义:数学运算的方法工具类

:

// static int abs(int a)返回参数a的绝对值

System.out.println( Math.abs(-5));

//static double ceil(double d)向上取整, 结果可以大于或者等于参数

//返回大于或者等于参数的最小整数

System.out.println( Math.ceil(-11.56));

//static double floor(double d)向下取整, 结果可以小于或者等于参数

System.out.println( Math.floor(-11.56));

//static int round(double d)四舍五入 取整数

System.out.println( Math.round(11.499999));

//static double pow(double a,double b) a的b次幂

System.out.println( Math.pow(2, 5));

//static double random() 返回随机数 范围0.0-1.0之间, 可能是0.0,不会到1.0

for(int x = 0 ;x < 5 ; x++){

System.out.println(Math.random());

}

结果:5

-11.0

-12.0

11

32.0

0.4817543383305478

0.055070916625842514

0.5840883015395422

0.23682037352906393

0.2871072197703177

 

 

 

6. System类中的静态方法

:

/*

 * static void arraycopy(Objectsrc,int srcPos, Objectdest,int destPos,int length)复制数组

 * src: 要复制的数据源

 * srcPos: 数据源的开始索引

 * dest: 复制后的目标数组

 * destPost: 目标数组的开始下标

 * length: 复制几个

 */

public static void method_3(){

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

int[]dest = {5,6,7,8,9,0};

System.arraycopy(src, 1,dest, 2, 2);

for(int x = 0 ;x < dest.length;x++){

System.out.print(dest[x] +" ");

}

}

结果:5 6 2 3 9 0

/*

 * static String getProperty(String s)

 * 获取当前的操作系统属性

 */

public static void method_2(){

String str = System.getProperty("os.version");

System.out.println(str);

}

结果:6.1 (win7)

/*

 * static void exit()

 * 结束JVM

 */

public static void method_1(){

while(true){

System.exit(0);

}

}

 

/*

 *  static long currentTimeMillis()

 *  返回当前系统日期的毫秒值

 */

public static void method(){

long time = System.currentTimeMillis();

System.out.println(time);

}

结果:1510543841326

 

7. 正则表达式

7.1. 概念及意义:

制定字符串形式的数据验证规则 String regex  =   正则表达式(规则) ;

7.2. 使用: str.matches(regex) 返回boolean

规则写法:常用

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

[^abc]            字符匹配不是abc

[a-z]             字符匹配多有小写字母

    [a-zA-Z]          字符匹配任意字母

    [0-9]             字符匹配所有的数字

    [a-zA-Z0-9]       字符匹配所有字母数字

    

    .                 匹配所有字符

   \d                匹配所有数字 [0-9]

     \D                匹配所有非数字 [^0-9]

    \w                匹配所有字符文字 [a-zA-Z0-9_]

     \W                匹配所有字非符文字 [^a-zA-Z0-9_]

    

     X                X字符出现零次或者多次

     X?                X字符出现一次或者一次也没有

     X+                X字符出现一次或者多次

      X{n}              X字符出现正好n次

       X{n,}             X字符出现至少n次

       X{n,m}            X字符出现至少n次,不超过m次

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值