《学习笔记Day13》正则表达式;数量词;Date类;Calender类(理思路5)

正则表达式

概述:一个字符串(regex)
普通的字符串也是一个正则表达式,但是只能表示他自己
格式:String1.matches(条件); 【 \条件】 在使用时在前面多加一个,因为预定义字符本身就是一个普通的反斜杠和一个普通的字符组成,是一个整体

public static void main(String[] args) {
			/w:表示包含大小写字母有数字下划线
			System.out.println("z".matches("\\w"));//true
			System.out.println("0".matches("\\w"));//true
			System.out.println("_".matches("\\w"));//true
			
			System.out.println("$".matches("\\w"));//false
			System.out.println("@".matches("\\w"));//false
			
			\s 空白字符 
			
			System.out.println(" ".matches("\\s"));
			System.out.println("	".matches("\\s"));
			System.out.println("\n".matches("\\s"));
			System.out.println("\t".matches("\\s"));
			System.out.println("\r".matches("\\s"));
			....
		}

4、预定义字符中的【.】表示任意字符,如果在代码中直接书写【.】,就是通配,如果想要表示普通的点,必须写成【\.】
**

数量词

字符类和定义类字符类,都只是单个位置的字符,想实现没有或者多个位置的字符,就需要借助数量词
(1)模糊数量词:X?、X*、X+
(2)精确数量词:{n}、{n, }、{n, m}
X? 一次或一次也没有

X* 零次或多次

X+ 一次或多次

X{n} 恰好 n 次

X{n,} 至少 n 次

X{n,m} 至少 n 次,但是不超过 m 次

Date类

表示一个特定的瞬间
构造方法:
Date()表示创建对象的那一刹那时间
Date(long date)(2)表示传入毫秒值的时间,是从1970年1月1日0时0分0秒起开始计算
成员方法:
(1)getTime() 获取Date对象表示的时间的毫秒值【将对象的时间转为毫秒值】
setTime(long time) 将调用者对象的毫秒值设置为指定值【将输入的毫秒值(longtime)加到初始值】

				Date d = new Date();//表示创建时间的时间
				System.out.println(d);//Wed Nov 04 22:54:39 CST 2020
				
				System.out.println(d.getTime());//1604501679778
				
				d.setTime(60000);
				
				System.out.println(d);//Thu Jan 01 08:01:00 CST 1970
				//将括号内的毫秒值加到初始值
				Date d2 = new Date(600000);
				System.out.println(d2);

DateFormat类

简单来说就是对Date的优化
4、重要成员方法:
(1)format(Date date) 将参数对象,格式化为一定的日期格式,结果是一个字符串 Date -> String
(2)parse(String date) 将参数字符串表示的时间解析为一个Date对象 String -> Date

四、SimpleDateFormat

1、SimpleDateFormat是DateFormat的子类,使用SimpleDateFormat类型,可以使用DateFormat类的所有方法
2、构造方法:
(1)SimpleDateFormat() 使用默认的格式解析时间对象,默认格式:20-11-4 下午3:00
(2)SimpleDateFormat(String pattern) 使用给定的格式解析时间对象

			Date d = new Date();//原料【获取现在的时间d】
			
			SimpleDateFormat sdf = new SimpleDateFormat();//模具【括号没写数据,使用默认方式】
			
			String result = sdf.format(d);//将Date类型转为String类型
			
			System.out.println(result);//04/11/20 下午 11:13
			Date d = new Date();
			
		
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//使用括号内的方式美化时间
			
			System.out.println(sdf.format(d));

String和Date类型相互转化

			String time = "2020/11/4 15:11:20";给定一个String类型时间
			
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
			
			Date date = sdf.parse(time);//Wed Nov 04 15:11:20 CST 2020【String转Date类型】
			
			System.out.println(date);
			
			SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
			
			String str = sdf1.format(date);//2020/11/04 15:11:20【将上面输出的Date再次转回】
			
			System.out.println(str);

Calender类

表示一个精确的瞬间
Calendar.getInstance():可以获取到Calendar的实现对象,此对象获取到的时候,就包含了所有的日历字段
get方法
get(int field) 传入字段序号,可以返回具体的字段值


			Calendar ca = Calendar.getInstance();
			
			System.out.println(ca.get(Calendar.YEAR));//年
			System.out.println(ca.get(Calendar.MONTH));//月
			System.out.println(ca.get(Calendar.DATE));//日
			
			System.out.println(ca.get(Calendar.HOUR_OF_DAY));
			System.out.println(ca.get(Calendar.MINUTE));
			System.out.println(ca.get(Calendar.SECOND));

set方法
可以针对具体日历字段对应的设置值
(1)set(int field, int value) 指定日历字段,设置为指定的值
(2)set(int year, int month, int date, int hourOfDay, int minute, int second) 设定Calendar对象的年月日时分秒字段的值,其余字段值保持不变

Calendar ca = Calendar.getInstance();【调用时间】

		Calendar ca = Calendar.getInstance();
		
		System.out.println(ca);
		System.out.println(ca.get(Calendar.YEAR));//2020
		System.out.println(ca.get(Calendar.MONTH));//10
		
		ca.set(Calendar.YEAR, 1999);
		ca.set(1999, 1, 1, 10, 55, 26);
		
		System.out.println(ca);
		System.out.println(ca.get(Calendar.YEAR));//1999
		System.out.println(ca.get(Calendar.MONTH));//1
	

add方法

1、方法功能:在某个日历字段现有的时间基础上,添加一些时间,让时间进行偏移
2、注意事项:如果当前时间不够存储偏移的时间,会自动按照时间的规则向上进

ca.add(Calendar.要添加的年月日等,值);

		Calendar ca = Calendar.getInstance();
			
			System.out.println(ca);
			
			ca.add(Calendar.DATE, 27);
			
			System.out.println(ca);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿福真的不想掉头发

大爷?赏点?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值