JAVA基础(22)-Java时间日期显示

目录

日期与时间

Date

SimpleDateFormat

Calendar


日期与时间


     java中的时间:
            (1)java中采用标准类库的Date类型时间。使用距离一个固定时间点的毫秒数的时间点来表示时间
            (2)固定时间点即纪元(UTC)。也就是1970年1月1日 00:00:00
            (3)UTC与GMT都是世界通用的时间格式   
                ( javase:标准版本的jdk,即类库为基本类库
                     javaee:企业版本的jdk,基本类库满足不了企业开发的需求,因此此jdk中,含有其他与企业开发相关的类库
                     javame:移动版本的jdk,jdk中含有与移动端开发的类型 )


Date


    java.util.Date类型,封装了日期与时间的信息。 之后里面的很多功能都弃用,渐渐的使用Calender类型来替代            
    
   构造器
       Date()    创建一个封装当前系统时间的Date对象
       Date(long time)    创建一个距离纪元time毫秒的Date对象
   常用方法
      long getTime()    返回距离纪元的毫秒数
      void  setTime(long time)    修改时间对象的毫秒数

练习代码

public static void main(String[] args) {
		/*创建一个Date对象*/
		Date time = new Date();
		System.out.println(time);
		/*调用有参构造器,创建一个距离纪元 10亿毫秒的时间对象*/
		Date time1 = new Date(1520000000000L);
		System.out.println(time1);
		
		System.out.println(time.getTime());
		System.out.println(time1.getTime());
		
		time.setTime(time.getTime()-3600000*24);
		System.out.println(time.getTime());
		System.out.println(time);
		
		/*带有删除线的方法,都是不建议使用的,即被弃用的方法*/
		System.out.println(time.getYear());
		System.out.println(time.getDate());
		System.out.println(time.getHours());
	}


SimpleDateFormat


   作用:此类型可以对Date进行格式化及其将字符串转成Date类型。            
  
   常用构造器:
           SimpleDateFormat(String format)    创建一个指定格式的SimpleDateFromat对象。
   常用方法:
           String format(Date date)    作用是将参数date按照构造器里的格式进行格式化成字符串
           Date parse(String str)    作用是将指定字符串str转变成Date类型 
   常用格式:
           yy:
           yyyy: 年
           MM:月
           dd:日
           HH:时(24制)
           hh:时(12制)
           mm:分
           ss:秒
           E:星期

           D 一年中的第几天
           F 一月中第几个星期几
           w 一年中第几个星期
           W 一月中第几个星期
           a 上午 / 下午 标记符 
           k 时 在一天中 (1~24)
           K 时 在上午或下午 (0~11)

           z 时区
练习: 计算自己已经生活了多少毫秒  

public static void main(String[] args) {
        Date time = new Date();
        String date = "1997-09-19";
        SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd");

        try{
            Date birth = s.parse(date);
            System.out.println(birth);
            System.out.println((time.getTime()-birth.getTime())/1000/60/60/24);
        }catch(ParseException e){
            e.printStackTrace();
        }
    }


Calendar


   (1)是日历类型,此类型封装了有关于日历的所有信息。主要用于计算时间分量。
        时间分量:日期和时间的一部分有效值。
   (2)Calendar
        是一个抽象类,提供了一方法getInstance()来获取一个通用的子类型对象,一般都是GregorianCalendar(格力高历,阳历)类型的对象。
   (3)时间分量常量:
     static int YEAR
     static int MONTH:日历里的月份是0-11。
     
     static int DATE
     static int DAY_OF_WEEK:默认从周日到周六,即1-7
     static int DAY_OF_MONTH

   (4)类型中提供了get(int field)方法,通过指定时间分量常量来获取相应的时间分量的值 
   (5)提供了set(int field,int value),进行设置时间分量值   
   (6)提供了add(int field,int value),用于对当前日历信息通过时间分量来计算value后的日历信息
        注意:value值如果是负数,向前推算。 
          
   其他方法:
     Date getTime()    将日历对象转成Date对象
     void setTime(Date date)    将指定date日期转成日历对象的信息
     int getActualMaximum(int field)    获取指定时间分量的最大值 
          如:
             指定Calendar.MONTH,获取的是11,即12月份Calendar.DATE,获取的是当前日历对象所在月天数的最大值
     
练习代码

public static void main(String[] args) {
        /*有一产品的生产日期是昨天
        * 保质期45天,计算过期日*/
        Calendar c = Calendar.getInstance();
        c.add(Calendar.DAY_OF_MONTH,-1);
        c.add(Calendar.DAY_OF_MONTH,45);
        Date d = c.getTime();
        SimpleDateFormat s = new SimpleDateFormat("yyy-MM-dd");
        System.out.println(new SimpleDateFormat("yyyy-MM-dd").format(c.getTime()));
        
        System.out.println(c.getMaximum(Calendar.YEAR));

        System.out.println(c.getActualMaximum(Calendar.DATE));
    }

猜你喜欢

转载自blog.csdn.net/woainiqazwsx123/article/details/81836289