日期时间API与包装类

日期时间类API

Date()类

Date类对象在Java中代表的是当前所在系统的此刻日期时间。

Date类对象创建方式,构造器创建对象。 public Date() 

Date常用方法 public long getTime() 获取时间对象的毫秒值。

将时间毫秒值转成日期对象的方法。 构造器内直接添加毫秒值,

或者Date对象的方法:public void setTime(long time)设置日期对象的时间为当前毫秒值的时间

将日期对象转换成毫秒值的方法 Date对象.getTime(),用日期对象调用该方法实现转换

package com.itheima.d1_DateDemo;

import java.util.Date;

public class d1_DateDemo {
    public static void main(String[] args) {
        //创建日期对象   获取当前时间
        Date d = new Date();
        System.out.println(d);

        //将日期对象转换成毫秒值
        long time1 = d.getTime();
        System.out.println(time1);

        System.out.println("-------------------");
        Date d1 = new Date();
        System.out.println(d1);

        long time = System.currentTimeMillis();
        time += (60 * 60 +121) *1000;


        //--------
        //毫秒值转化成对象
        // 将时间毫秒值转日期对象
//        Date d2 = new Date(time);
//        System.out.println(d2);

        Date d3 = new Date();
        d3.setTime(time);
        System.out.println(d3);
    }
}

 SimpleDateFormat类

  因为Date类创建出来的对象打印出的日期是美式的日期,看的很不舒服,那么有什么方法可以转化成xx年xx月xx日呢? 这里就引入SimpleDateFormat类,这个类的主要作用就是格式化这个日期对象,并按照对应格式解析。

创建格式

SimpleDateFormat spf = new SimpleDataFormat("解析格式")

package com.itheima.d2_simpleDateFormat;

import java.text.SimpleDateFormat;
import java.util.Date;

public class SdfDemo {
    public static void main(String[] args) {
        Date d= new Date();
        System.out.println(d);

        //格式化这个日期对象   EEE取星期几   a取上午还是下午
        SimpleDateFormat d1 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE a");
        String rs= d1.format(d);
        System.out.println(rs);

        System.out.println("-----------------");
        long time = System.currentTimeMillis() + 121 * 1000 ;
        String rs2 = d1.format(time);
        System.out.println(rs2);

        System.out.println("----------解析字符串时间------------");
    }
}

 

public void parse()方法 将字符串时间解析成日期对象,使用方法:

package com.itheima.d2_simpleDateFormat;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class sdfDemo2 {
    public static void main(String[] args) throws ParseException {
        Date d= new Date();
        // 2021年08月06日 11:11:11 往后 2天14小时 49分06秒后的时间
        String dateStr = "2021年08月06日 11:11:11";

        // 把字符串时间解析成日期对象(本节的重点)
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        Date d1 = sdf.parse(dateStr);
        System.out.println(d1);

        // 往后走两天 14 小时 49分 06秒
        long time = d1.getTime() + (2L*24*60*60     +   14*60*60 + 49*60  + 6)*1000 ;
        System.out.println(sdf.format(time));

    }
}

 

calander类 

日历类,创建calander类对象获取一个当前时间日历对象。接下来的代码演示一下calander类中常用的方法。

package com.itheima.d3_calander;

import java.util.Calendar;
import java.util.Date;

public class CalanderDemo {
    public static void main(String[] args) {
        //创建日历对象
        Calendar cal = Calendar.getInstance();
        System.out.println(cal);

        //2.获取日历的信息是: public int get(int field): 取日期中的某个字段信息。
        int year = cal.get(Calendar.YEAR);
        System.out.println(year);
        int mm = cal.get(Calendar.MONTH) + 1;
        System.out.println(mm);
        int days = cal.get(Calendar.DAY_OF_YEAR);
        System.out.println(days);

        //修改日历中的某个字段信息。
        cal.set(Calendar.HOUR ,12);
        System.out.println(cal);

        //public void add(int field, int amount) 为某个字段增加/减少指定的值
        cal.add(Calendar.DAY_OF_YEAR, 64);
        cal.add(Calendar.MINUTE, 59);

        //public final Date getTime() 拿到此刻日期对象
        Date d= cal.getTime();
        System.out.println(d);

        //public long getTimeMillis 拿到日期毫秒值
        long a = cal.getTimeInMillis();
        System.out.println(a);
        //注意调用修改方法的时候 那么拿到的日历对象就不是刚开始创建的日历对象了
    }
}

 包装类

包装类概述:java的设计思想就是一切皆对象,但是八种基本数据类型不属于对象,因此包装类就是为八种基本数据类型提供相对应的引用数据类型。在集合和泛型中支支持引用数据类型。

包装类特点:自动装箱和自动拆箱

自动装箱:基本数据类型变量可以随意转换成包装类引用数据类型变量

自动拆箱:包装类引用数据类型变量可以随意转换成基本数据类型变量

作用:防止基本类型数据变量被赋值成null运行报错。

包装类作用:1.包装类可以把基本数据类型变量转换成字符串形式,当然我们可以直接在基本数据后面拼接空字符串。

 

2.包装类可以直接把字符串类型转换成真是数据类型(这个很有用)

包装类.valueof(字符串) 但是这个字符串里面只能是整数或者小数 例如  9 和 99.9  如果字符串是99.a这种的话 就会报错

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值