初步日期使用方法及格式轉換方法(舊方法):正則表達式
格式://Mon Jul 30 11:26:05 CST 2018 年月日時分秒 CST表明北京時間數組
獲取當前毫秒安全
Date date = new Date();
轉換時間格式:app
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String s = sdf.format(date);
日曆類的使用異步
Calendar c1 = Calendar.getInstance(); int year = c1.get(c1.YEAR); int month = c1.get(c1.MONTH);
打印日曆示例(新方法:LocalDate時間類)函數
public static void getMonth(int year,int month){ LocalDate date = LocalDate.of(year, month, 1); /** * 判斷月 */ int days = 0; if(month == 1 ||month == 3 ||month == 5||month == 7||month == 8 ||month == 10 || month == 12){ days = 31;//31天 }else if(month == 2){ //2月份 if(date.isLeapYear()){ days = 29;//29天 }else{ days = 28;//28天 } }else{ days = 30;//30天 } //判斷當前月第一天是周幾 int week = date.getDayOfWeek().getValue(); /** * 一 二 三 四 五 六 日 * 1 2 3 4 * 5 6 */ //第一行,打印"日 一 二 三 四 五 六" //第二行,打印,根據星期打印空格, //以後打印1--(30 31 28 29) System.out.println("日\t一\t二\t三\t四\t五\t六"); //打印空格 int count = 0; for (int i = 1; i < week; i++) { count++; System.out.print("\t"); } //1 ---- 31 29 30 for (int i = 1; i <=days; i++) { count++;//接着以前的空格計算 System.out.print(i+"\t");//不換行打印 if(count%7==0){//每行7個字符。換行 System.out.println(); } } } public static void main(String[] args) { getMonth(2018, 7); for(int i=1;i<=12;i++){ System.out.println("\n*********************************************"); getMonth(2019, i); System.out.println("\n*********************************************"); } } }
LocalDate 建立日期類,日期的格式化,快速建立日期的方法,獲取年月日,判斷閏年的方法ui
LocalTime 建立時間的類,時分秒的格式化spa
LocalDateTime日期時間類線程
DateTimeFormatter類-----"yyyy-MM-dd HH:mm:ss"code
能夠說,LocalDateTime裏能夠包含LocalDate類的信息和LocalTime類的信息
LocalDate使用示例:
//判斷當前年是不是閏年 LocalDate localDate1 = LocalDate.now(); boolean leapYear = localDate1.isLeapYear(); //2001 1 1 快速的構建一個日期類LocalDate of()方法去構建 LocalDate ld2 = LocalDate.of(2001, 1, 1);
LocalTime使用舉例:用來返回當前時間
LocalDateTime dateTime = LocalDateTime.now(); System.out.println(dateTime); //格式化日期格式的類DateTimeFormatter DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyy-MM-dd HH:mm:ss"); //把LocalDateTime類型轉化爲String字符串類型 String strDateTime = dtf.format(dateTime); //獲取當前月份,獲取當前年份,時分秒 LocalDateTime date = LocalDateTime.now(); date.getYear(); date.getMonth(); date.getHour(); date.getMinute(); date.getSecond();
//不區分大小寫判斷是否相等 str1.equalsIgnoreCase(str2) //字符串是否包含另外一個串 str1.contains("a") //找到字符串中下標爲1的字符 str1.charAt(1) //截取字符串,包含前不包含後 String newStr = str.substring(1,5); //按逗號分割成String數組 String[] ss =strs.split(","); //trim()方法,只能去先後空格,中間空格去不掉 String s = str3.trim(); //檢查字符串的尾串是否是逗號 countstr.endsWith(",") //替換全部的逗號爲空字符 countstr.replace(",",""); //最後一個點的位置 email.lastIndexOf(".") //第一個@的位置 email.indexOf("@")
String與StringBuffer的區別
一、String的值不能夠改變,只能改變內存地址的指向。因此String類在修改字符串方面的效率較低。StringBuffer的值能夠改變,帶有緩衝區,方便進行內容修改。
二、String類中鏈接用’+’,而StringBuffer用append方法作數據鏈接
StringBuffer類中定義的方法所有使用同步定義,屬於線程安全操做
StringBuilder類沒有同步定義,都是異步方法,屬於非線程安全操做
String與StringBuffer相互轉換
StringBuffer strBuff = new StringBuffer("新字符串:"); for (int i = 0; i < ss.length; i++) { strBuff.append(ss[i]+",");//將後面加上逗號,放入緩衝區 } System.out.println(strBuff.toString()); strBuff.deleteCharAt(strBuff.length()-1); //去掉最後一個逗號,不用返回,直接拿strBuff操做 System.out.println(strBuff.toString()); //新字符串:今天,天氣真的不錯,咱們一塊兒去登山吧,好的 char a[] = new char[]{'[','2','0','1','8',']'}; strBuff.insert(0,a); //strBuff.insert(0, "[2018] "); System.out.println(strBuff.toString());
正則表達式用法
String reg = "^[0-9]{0,9}";//零到九 //*全部 //.佔位符 boolean flag = "12".matches(reg); System.out.println(flag);
包裝類解決了基本數據類型,不能使用對象的問題
一、 裝箱--->把基本數據類型轉化成相應的包裝類
Integer i = new Integer(a); Integer i1 = new Integer("100"); Double d1 = new Double(b); char c2 = new Character('a');
自動裝箱:
Integer iii = 1000; Character c1 = 'a'; double b = 10.10;
二、 拆箱--->把包裝類轉化爲基本數據類型(自動拆箱和手動拆箱)
手動拆箱:
int i_3 = i1.intValue(); double d_2 = d1.doubleValue(); boolean bool1_2 = bool1.booleanValue();
自動拆箱
int i__3 = i; int i1__3 = i1;
三、 String和包裝類及基本數據類型的轉化
String str5 = "2312"; String str6 = "2345.23.23"; String str7 = "23.12d"; String str2 = "1000"; int ii2 = Integer.valueOf(str2); //若是str5加上L字符,轉化將有異常 Long str5_1 = Long.valueOf(str5); //出現多個點的話,轉化有錯誤 double str6_1 = Double.valueOf(str6);