- Object 類
- Date 類
- DateFormat 類
- Calendar 類
1.Object 類 (java.lang包中)
所有類的父類,若一個類沒有指定父類,默認繼承Object類
- toString()方法:直接輸出語句輸出對象調用toString()方法package com.day7; /** * @author SFJ * @date 2019/11/13 * @time 21:47 **/ public class Test1 { } class Student extends Object{ private int id; private String name; private int age; public Student(){ } public String toString() { return "StudentIs::"+id+" name:"+name+" age"+age; } }
- boolean equals()方法:繼承了Object類的equals()方法
參數:1.Object obj:可以傳遞任意的對象
2.基本數據類型:比較的是值是否相等
3.引用數據類型:比較的是兩個對象的地址值(不是比較內容,但可以重寫)package com.day7; /** * @author SFJ * @date 2019/11/13 * @time 22:12 **/ public class Test2 { public static void main(String[] args) { Student student1 = new Student(); Student student2 = student1; System.out.println(student1.equals(student2)); }} class Student extends Object{ private int id; private String name; private int age; public Student(){ } public String toString() { return "StudentIs::"+id+" name:"+name+" age"+age; } @Override public boolean equals(Object obj) { if (this == obj) return true;//若為同一個對象,返回true; if (obj == null || getClass() != obj.getClass()) return false;//若參數為空,類型信息不同 Student student = (Student) obj;//基本類型相等,並且將引用類型交給 Objects 類的 equals 靜態方法用於內容相同規則判斷 return student.id==id &&student.name==name && student.age==age; } } 2. 日期時間類 (java.util包中)--Date類
表示日期和時間,Date 表示特定的瞬間,精確到毫秒
package com.day7;
import javax.jws.soap.SOAPBinding;
import java.util.Date;
/**
* @author SFJ
* @date 2019/11/13
* @time 22:28
**/
public class Test3 {
public static void main(String[] args) {
Date date1 = new Date();//分配 Date 對象並初始化此對象
System.out.println(date1);
System.out.println("獲取當前的毫秒值:"+date1.getTime());
Date date2 = new Date(19980920);//分配 Date 對象並初始化此對象
System.out.println(date1.getYear());
System.out.println(date2.getTime());
}
}
3.DateFormat類(抽象類)->子類:SimpleDateFormat
java.text.DateFormat 是日期、時間格式化子類的抽象類可以幫我們完成日期文本之間的轉換,也就是可以在 Date 對象與 String 對象之間進行來回轉換 。
- 構造方法:public SimpleDateFormat(String pattern):用給定模式和默認語言日期格式符號
- 常用方法:
1.public String format(Date date):將Date對象格式化為字符串
2.public Date parse(String souce):將字符串解析為 Date 對象
package com.day7;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author SFJ
* @date 2019/11/13
* @time 22:47
**/
public class Test4 {
public static void main(String[] args) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dddd");
Date date = new Date();
System.out.println(simpleDateFormat.format(date));;
String string = "2019-11-13 22:52";
Date date1 = simpleDateFormat.parse(string);
System.out.println(date1);
}
}
使用Date類計算時間
package com.day7;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
/**
* @author SFJ
* @date 2019/11/13
* @time 23:00
**/
public class Test5 {
public static void main(String[] args) {
System.out.println("請輸入出生日期");
Scanner scanner = new Scanner(System.in);
String date = scanner.next();
DateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = simpleDateFormat.parse(date);
Date date2= new Date();
long t;
t = date2.getTime()-date1.getTime();
if (t<0) System.out.println("還沒出生");
else System.out.println(t/1000/60/60/24);
}
}
4.Calendar 類:(抽象類)
public static Calendar getInstance():使用默認時區和語言環境獲得一個日曆類對象
java.util.Calendar 是日曆類,在 Date 後出現,替換掉了許多 Date 的方法,該類將所有可能用
到的時間信息封裝為靜態成員變量,方便獲取。日曆類就是方便獲取各個時間屬性的。
常用方法:
- public int get(int field):返回給定日曆字段的值
- public void set(int field,int value):將給定的日曆字段設置為給定的值
- public abstract void add(int field,int value):根據日曆規則,為給定的日曆字段添加或減去
指定的時間量
public Date getTime():返回一個表示此 Calendar 對象時間值得 Date 對象
package com.day7;
import java.util.Calendar;
import java.util.Date;
/**
* @author SFJ
* @date 2019/11/13
* @time 23:34
**/
public class Test7 {
public static void main(String[] args) {
//通過子類來創建對象
Calendar c1=Calendar.getInstance();
c1.set(Calendar.YEAR,2020);
c1.add(Calendar.YEAR,-2);
System.out.println("年:"+c1.get(Calendar.YEAR));
System.out.println("月:"+c1.get(Calendar.MONTH));
System.out.println("日:"+c1.get(Calendar.DATE));
System.out.println("天:"+c1.get(Calendar.DAY_OF_YEAR));
System.out.println("時:"+c1.get(Calendar.HOUR));
System.out.println("分:"+c1.get(Calendar.MINUTE));
System.out.println("秒:"+c1.get(Calendar.SECOND));
Date date1=c1.getTime();
System.out.println(date1);
}
}
逆運算(已知時間求生日)
package com.day7;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Scanner;
/**
* @author SFJ
* @date 2019/11/13
* @time 23:18
**/
public class Test6 {
public static void main(String[] args) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance();
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入生存多久");
int days = scanner.nextInt();
calendar.add(Calendar.DATE,-days);
System.out.println("您的出生日期為:"+calendar.getTime());
}
}
[點擊並拖拽以移動]
閱讀更多 北京尚學堂 的文章