正規表示式;數量詞;Date類(Date,DateFormat,SimpleDateFormat);Calender類(get,ste,add方法)(理思路5)

阿福真的不想掉頭髮發表於2020-11-04

正規表示式

概述:一個字串(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);

相關文章