1. 程式人生 > >20170823 - A - 日期操作

20170823 - A - 日期操作

範圍 util tex imp -1 字符串 nth 增加 掌握

1 調用一個方法需要想到什麽?
返回值

2 如何重寫toString、equals方法?
/**
* toString返回的字符串應包含當前對象的屬性信息,
* 具體格式和內容根據當前類實際設計需求而定。
*/
public String toString(){
return "x = "+x+",y = "+y;
}

/**
* equals方法的的設計目的是比較兩個對象的內容是否一致。
* 比較原則:
* 將兩個對象的屬性進行比較,不一定要求所有屬性值相同,
* 視具體情況而定。
*/
public boolean equals(Object obj){
if(obj == null){
return false;
}
//傳入的是對象本身
if(obj == this){
return true;
}
if(obj instanceof point){
point p = (point)obj;//不可直接將原引用強轉
System.out.println(p.x);
System.out.println(this.x);
if(p.x == this.x && p.y == this.y){
return true;
}
return false;
}
return false;

}

3 為何不可 point p = (point)obj; ?

4 自動拆包是什麽?
int i = new Integer(6).intValue;
Integer i = Integer.valueOf(9);

5 String str = "HelloWorld";
if(str.substring(0).equals("H") && str.substring(8,10) == ("ld")){
print("正確");
return;
}

是否會報錯?
會,str.substring(0)返回無,==錯誤比較
str.substring(0,1)正確

6 如何使用Date表示時間?Date內部維護的是?
創建Date型對象後直接輸出。long值,該值表示的是自1970年1月1日零時零分零秒到實例表示的日期所經過的毫秒數

7 如何獲取當前Date中的毫秒數long值?
Date date = new Date()
long timeS = date.getTime

8 如何設置Date內long值?
date.setTime(10000000);

9 如何將date型數據轉換為指定時間格式輸出的字符串
新建指定格式的轉換器,再用轉換器。
Date date = new Date();
long time = date.getTime();

SimpleDateFormat trans = new SimpleDateFormat("yyyy-MM-d-hh-mm-ss");
System.out.print(trans.format(time));

10 如何將指定時間格式的字符串轉換為date型數據?
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

String str = "2008-08-08 08:08:00";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = sdf.parse(str);
System.out.println(date);

11 為何計算出日期非8359?
還未到生日。
思路要極其清晰。

12 關於date需要掌握什麽?
getTime()方法,setTime()方法

13 當需要對字符串進行操作時,用什麽創建字符串?
StringBuilder

14 如何理解StringBuilder?
當做String理解即可,傳入的是String值。

15 Calendar是什麽類?可以直接實例化嗎?
抽象類,不可以,只能向上造型實例化。

16 無定義toString()的引用類型數據直接輸出,顯示的是什麽?
對象地址

17 通常用什麽獲取Date型數據?
通過Calendar的實現子類getTime()方法獲取
Calendar calendar = Calendar.getInstance();
Date date = calendar.getTime();

18 如何輸出顯示當前時間(2017-08-26-14:12:10)
利用實例獲取
Calendar calendar = Calendar.getInstance();

calendar.get(Calendar.YEAR)+"-"+
calendar.get(Calendar.MONTH)+"-"+
calendar.get(Calendar.DAY_OF_MONTH)+"-"+
calendar.get(Calendar.HOUR_OF_DAY)+":"+
calendar.get(Calendar.MINUTE)+":"+
calendar.get(Calendar.SECOND))

19 如何獲取指定時間的最大值?
calendar.getActualMaxium(
Calendar.YEAR
Calendar.MONTH
Calendar.DAY_OF_MONTH/DATE
Calendar.HOUR_OF_DAY
Calendar.MINUTE
Calendar.SECOND
)

19 如何設置calendar成某個時間點?
calendar.set(Calendar.YEAR,2008);
calendar.set(Calendar.MONTH,14);
calendar.set(Calendar.DAY_OF_MONTH,10);
calendar.set(Calendar.HOUR_OF_DAY,13);
calendar.set(Calendar.MINUTE,79);
calendar.set(Calendar.SECOND,100);

21 使用需要註意什麽?
月份設置從0開始。
星期數返回值從星期天開始,設置為1

22 設置時間分量時可否超出最大範圍?如設置61分鐘。
可以,則小時會增加1.

23 如何求得目標日當周周五是幾號?
先將calendar set到目標日,在用set到 星期五,在獲取。

24 如何求得目標日前25天當周周五是幾號?
先將calendar set到目標日,在用set day到 前25天,在用set dayOfWeek到 星期五,在獲取。

25 c=[(1,2),(2,3),(1,2)]p1 = (1,2);c.remove(p1);結果是?
[(2,3),(1,2)],只刪除匹配到的第一個元素。

20170823 - A - 日期操作