day013Object

32 阅读4分钟
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+"日");
    }
}
   
*/