toString()
equals---只要new对象的地址值就是不相同
==: 在比较两个对象的内存地址值是否相同
重写toString方法 返回对象的内容,而不是地址值快捷键: alt + insert-> toString -> 选择成员变量 -> ok
重写equals方法: 比较对象的内容,而不是地址值 快捷键: alt + insert-> equals && hashCode()->选择成员变量-> ok
\t: 制表符 \r\n: windows换行
Date 表示特定的瞬间,精确到毫秒-- 北京时间与标准时间相差8小时
构造方法:
(1)public Date(): 把当前时间毫秒值(运行程序的此时此刻)封装成Date对象
(2)public Date(long date): 把构造方法参数指定的毫秒值封装成Date对象
常用常用方法:
(1)public long getTime(): 返回调用方法的Date对象对应的毫秒值
(2)public void setTime(long time): 把方法参数指定的毫秒值设置给调用方法的Date对象
public class Demo02Date {
public static void main(String[] args) {
Date d2 = new Date(0L);//把特定的瞬间0毫秒那个时刻,封装成Date对象
Date d1 = new Date();当前时间Date
long time = d1.getTime(); //获取
//把当前时间向后推算5天
time += 5*24*60*60*1000;
//调用setTime方法,给Date对象设置成5天后的毫秒值
d1.setTime(time);
}
}
### DateFormat-- 用来完成Date对象和String对象之间的相互转换的
(1)格式化(就是把Date对象转换成String对象)
public String format(Date date): 把方法参数Date对象转换成String对象并返回
参数: Date date: 日期对象
返回值: String: 返回的是String对象
(2)解析(就是把String对象转换成Date对象)
public Date parse(String source): 把方法参数String对象转换成Date对象并返回
参数: String source: String对象
返回值: Date: 返回的是日期对象
DateFormat是一个抽象类,不能直接new对象
常用子类:java.text.SimpleDateFormat类
构造方法: public SimpleDateFormat(String pattern)
参数: String pattern: String类型的日期格式
日期格式化为字符串 把Date对象格式化成String对象的实现步骤
public class Demo04DateFormat {
public static void main(String[] args) {
//1.创建String类型的日期格式对象patter,需要指定具体的格式
String patter = "yyyy年MM月dd日 HH点mm分ss秒SSS毫秒";
//2.创建日期格式化SimpleDateFormat类的对象sdf,构造方法参数传递日期格式对象patter
SimpleDateFormat sdf = new SimpleDateFormat(patter);
//3.创建当前毫秒值对应的日期Date对象date
Date date = new Date();
//4.使用日期格式化SimpleDateFormat类的对象sdf调用format方法,传递日期对象date,
//获取指定格式的String对象
String strDate = sdf.format(date);
//5.打印String对象
System.out.println(strDate);
}
}
public class Demo05DateFormat {
public static void main(String[] args) throws ParseException {
字符串转换成日期 把String对象解析成Date对象的实现步骤
//3.创建String对象strDate,保存指定格式的日期时间
String strDate = "2020年09月23日 10点54分22秒442毫秒";
//String strDate = "2020-09-23 10:54:22:442";//错误: 和上面的日期格式不匹配,报出解析异常
//4.使用日期格式化parse方法,传递String的日期对象strDate,
//获取Date对象
Date date = sdf.parse(strDate);
System.out.println(date); //5.打印Date对象
}
}
Calendar类
/*
Calendar类的常用方法
public int get(int field) :返回给定日历字段的值。
参数: int field: 代表的是要获取的是哪个字段
返回值: int: 代表的是获取到的字段对应的值
public void set(int field哪个字段, int value设置的值是什么) :将日历字段设置为给定值。
public abstract void add(int field哪个字段, int amount加值) :
public Date getTime() :把调用方法的Calendar对象转换成Date对象并返回
public void setTime(Date date): 把调用方法传递的参数Date对象设置给调用方法的Calendar对象
Calendar类当中的常量
Calendar.YEAR 代表年 1
Calendar.MONTH 代表月 2
Calendar.DAY_OF_MONTH 代表日 5
public class Demo01CalendarMethod {
public static void main(String[] args) {
getInstance(): 获取抽象类Calendar类的子类对象
Calendar cal = Calendar.getInstance();
print(cal); //调用方法打印年月日
//把2020年9月23日 通过set方法修改成 2028年5月20日
cal.set(Calendar.YEAR,2028); //修改年
cal.set(Calendar.MONTH,4); //修改月
cal.set(Calendar.DAY_OF_MONTH,20);//修改日
//调用方法打印年月日
print(cal);
//把2028年5月20日 通过add方法修改成 2020年9月23日
cal.add(Calendar.YEAR,-8); //修改年
cal.add(Calendar.MONTH,4); //修改月
cal.add(Calendar.DAY_OF_MONTH,3);//修改日
//把Calendar对象cal转换成Date对象
Date date = cal.getTime();
System.out.println(date);
//借助SimpleDateFormat完成对Date对象的格式化工作
}
//定义方法打印Calendar对象的信息
public static void print(Calendar cal) {
//获取年
//int year = cal.get(1);
int year = cal.get(Calendar.YEAR);
//获取月
//int month = cal.get(2);//1到12月 用0到11的数字表示
int month = cal.get(Calendar.MONTH);//1到12月 用0到11的数字表示
//获取日
//int day = cal.get(5);
int day = cal.get(Calendar.DAY_OF_MONTH);
System.out.println(year+"年"+(month+1)+"月"+day+"日");
}
}
*/