zoukankan      html  css  js  c++  java
  • day-15

    今日内容:【Object类、常用API】

    • Object类
    • Date类
    • DateFormat类

    • Calendar类

    • System类

    • StringBuilder类

    • 包装类

      学习目标
      • ​ 能够理解Object类的特点
      • ​ 能够重写Object类的toString方法
      • ​ 能够重写Object类的equals方法
      • ​ 能够使用日期类输出当前的日期
      • ​ 能够使用将日期格式化为字符串的方法
      • ​ 能够使用将字符串转化为日期的方法
      • ​ 能够使用System类的数组复制方法
      • ​ 能够说出使用StringBuilder类可以解决的问题
      • ​ 能够使用StringBuilder类可以解决的问题
      • ​ 能够说出8种基本数据类型对应的包装类
      • ​ 能够说出自动装箱、自动拆箱的概念
      • ​ 能够将字符串转化成对应的基本数据类型
      • ​ 能够将基本数据类型转换成对应的字符串

    预习下周内容:

    ​ 集合框架(Collection、List、Set、Map)、泛型、异常框架(Throwable、Error、Exception) 异常(运行期异常、编译期异常)、线程(单线程、多线程、线程池)

    java.util.Date 表示时间和日期的类
    类Date可以获取精确到毫秒值的特定瞬间
    毫秒。千分之一秒 1秒 = 1000毫秒
    2020-11-27 19:26:30:333 瞬间

    毫秒值的作用,可以堆时间和日期做一个精确的计算

    2020-10-09 到 2020-11-27 中间一共有多少天
    可以把日期先转换成毫秒值进行计算,计算完毕再把毫秒值转化成日期

    把日期转换成毫秒值
    当前的日期2020-11-27
    时间起始值(原点)(0毫秒)1970 年 1 月 1日00:00:00 英国的格林威治时间 以来的指定毫秒数
    就是计算当前日期到时间起始值一共有多少毫秒?

             注意:
                 中国是属于东八区 会在标准时间之上再增加八个小时  上海或者北京
                 1970年1月1日 08:00:00
                 
             一天 = 24* 60 * 60 *1000 = 86400000 毫秒值
             把毫秒值再转换成日期
    
    	      1606477397501/86400000 天数
    
    public class Demo01Date {
    	public static void main(String[] args) {
    		System.out.println(System.currentTimeMillis());
    		Date date = new Date(0L);
    		System.out.println(date);//THU JAN 01 08:00:00 CST 1970
    		
    		// 获取当前时间的毫秒值
    		Date date2 = new Date();
    		System.out.println(date2);//Fri Nov 27 19:52:17 CST 2020
    		
    		// 精确到毫秒值 getTime()
    		long time = date2.getTime();
    		System.out.println(time);//1606478033867L
    		
    		// 毫秒值在转换成日期
    		Date date3 = new Date(1606478033867L);
    		System.out.println(date3);
    	}
    
    }
    
    

    Java.text.DateFormat: 进行日期/时间格式化的抽象类
    作用:
    格式化:日期 ----》 文本
    解析: 文本-----》日期
    成员方法:
    String format(Date date): 按照指定的模式,把date日期,格式化为符合模式的字符串
    Date parse(String source) 把符合模式的字符串,解析成Date日期
    DateFormat类是一个抽象类,无法直接创建对象,可以使用它的子类SimpleDateFormat
    java.text.SimpleDateFormat extends DateFormat
    构造方法:
    public SimpleDateFormat(String pattern)
    用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat

       参数:
           String pattern  传递指定的模式
           Thu Jan 01 08:00:00 CST 1970
           调整为: 20:15  2020/11/27
          模式:严格区分大小写
               y  年
               M  月
               d  日
               H  二十四时
               m  分
               s  秒
               F  星期
       
       写对应的模式  会把模式转换成对应的时间和日期
           “HH:mm yyyy/MM/dd”
       使用format方法  把日期格式化为文本
       使用DateFormat类中的方法parse,把文本解析成日期
       使用步骤:
             1. 创建SimpleDateFormat对象,构造方法传递指定的模式
             2. 调用SimpleDateFormat类中的parse方法,把符合构造方法当中模式的字符串解析成日期
          注意:
              public Date parse(String source) throws ParseException
              如果字符串和构造方法当中的模式不一样,程序会抛出解析异常
              如果程序调用了一个携带解析异常的方法,那么就必须对这个异常进行处理,处理异常通常有两种解决方案
               1.使用throws继续往上抛
               2.使用try catch语句块处理掉这个异常
    

    代码如下:

    public class DateFormatDemo {
    		public static void main(String[] args) throws ParseException {
    			Date date = new Date();
    			// 按照指定的模式生成对应的字符串值
    			// 使用DateFormat类的子类SimpleDateFormat
    			SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm yyyy/MM/dd");
    			// 把日期格式化为字符串
    			String result = simpleDateFormat.format(date);
    			System.out.println(result);
    			System.out.println("============================");
    			
    			String strDate = "2020年11月27日 20:31:30 4";
    			SimpleDateFormat simpleDateFormat2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss F");
    			Date date2 = simpleDateFormat2.parse(strDate);
    			System.out.println(date2);
    			
    			// 练习:使用日期时间相关的API  计算一个人已经出生了多少天     根据输入的出生日期  距离今天有多少天
    			System.out.println("============================");
    			String strDate3 = "1999年11月14日 20:31:30 4";
    			SimpleDateFormat simpleDateFormat3 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss F");
    			Date date3 = simpleDateFormat2.parse(strDate3);
    			Date date4 = new Date();
    			long time2 = date4.getTime();
    			long time1 = date3.getTime();
    			long time = time2-time1;
    			System.out.println(time);
    			System.out.println(time/86400000 + "天");
    			
    		}
    
    }
    
  • 相关阅读:
    设计模式之抽象工厂模式
    MQ任意延时消息(三)基于服务端实现
    MQ任意延时消息(二)基于客户端实现
    MQ任意延时消息(一)实现原理概述
    sqlyog报错2058
    base标签的作用
    相对路径和绝对路径的解释
    自定义Tomcat部署目录
    常用正则表达式
    接口的结构定义
  • 原文地址:https://www.cnblogs.com/yangstudy/p/14071339.html
Copyright © 2011-2022 走看看