Java-常用类-时间日期

 //Date 日期的使用 util.Date
        Date date = new Date();//创建当前时间的数据库
        System.out.println(date.toString());//Sun Apr 10 21:17:17 CST 2022
        System.out.println(date.getTime());//1649596547068
        System.out.println(date);//Sun Apr 10 21:22:56 CST 2022
        /*  toString();显示当前时间的 年 月 日 时 分 秒
            getTime(); 获取当前Date对象对应时间的毫秒值
        * */
        Date date1 = new Date(225255464646L);
        System.out.println(date1.toString());//Sun Feb 20 10:57:44 CST 1977
        System.out.println(date1.getTime());

        // java.sql.Date  数据库的时间
        //实例化对象
        java.sql.Date date2 = new java.sql.Date(4686548797646L);
        System.out.println(date2.toString());//2118-07-06
        System.out.println(date2);//2118-07-06

        //将 Java.util.Date 转换为 java.sql.Date
        Date  date3 = new Date();
        java.sql.Date date4 = new java.sql.Date(date3.getTime());
        System.out.println(date4);//2022-04-10

SimpleDateFormat 使用
 // SimpleDateFormat 使用
        SimpleDateFormat sdf = new SimpleDateFormat();

        Date date = new Date();
        String str = sdf.format(date);
        System.out.println(str);

        //格式化日期,解析出的日期就是对应的格式
        SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy:MM:dd hh:mm:ss");
        String str2 = sdf2.format(date);//解析日期格式
        System.out.println(str2);//2022:04:11 05:53:56
        //解析: 只识别构造器创建的格式
        Date date1 =  sdf2.parse("2022:04:11 05:53:56");
        System.out.println(date1);

        long time =  System.currentTimeMillis(); //当前时间戳

 举个栗子:

 //练习"2020-2-11" 转换为 java.sql.Date
    @Test
    public  void  testSimpleDateFormate() throws ParseException {
        String str = "2020-2-11";
        //创建对应格式 时间格式对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        Date date = sdf.parse(str);
        java.sql.Date date1 = new java.sql.Date(date.getTime());
        System.out.println(date1);
    }

 

 日历类Calendar使用:

    @Test
    public  void  testCalendar(){
        //日历类的使用: 抽象类
        Calendar calendar =  Calendar.getInstance();
        //常用方法
        //get()
        int day =   calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(day);

        //set()
        calendar.set(Calendar.DAY_OF_MONTH, 22);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//修改了当月第几天

        //add()
        calendar.add(Calendar.DAY_OF_MONTH, 3);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

        //getTime()
        System.out.println(calendar.getTime());//日期变为设置后的日期

        //setTime()  将Date 时间----》 日历类时间
        Date date = new Date();
        calendar.setTime(date);
        System.out.println(calendar.getTime());
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
    }

Jdk8 时间日期类LacalTime  LocalDate LocalDateTime 

 

public  void testTime(){

        //LocalTime LocalDate LocalDateTime
        //LoacalDateTime 相对使用频率更高
        //now()
        LocalDateTime ldt = LocalDateTime.now();
        LocalDate ld = LocalDate.now();
        LocalTime lt = LocalTime.now();
        System.out.println(ldt);//2022-04-11T07:00:40.976
        System.out.println(ld);//2022-04-11
        System.out.println(lt);//07:00:40.977

        //of() 设定指定年 月 日 时 分 秒 没有偏移量
        LocalDateTime localDateTime = LocalDateTime.of(2020, 4, 11, 7, 6);
        System.out.println(localDateTime);

        //getXXX()
        System.out.println(localDateTime.getDayOfMonth());
        System.out.println(localDateTime.getDayOfWeek());
        System.out.println(localDateTime.getMinute());
        System.out.println(localDateTime.getHour());

        //设置 withXXX()
        LocalDateTime localDateTime1 = localDateTime.withDayOfMonth(23);
        System.out.println(localDateTime);//2020-04-11T07:06 原本的日期没有改变,表现不可变性
        System.out.println(localDateTime1);//2020-04-23T07:06

        //添加时间 plusXXX()
         LocalDateTime localDateTime2 = localDateTime.plusDays(12);
        System.out.println(localDateTime);//2020-04-11T07:06 原本的日期没有改变,表现不可变性

        //减去时间 minusXXX()
        LocalDateTime localDateTime3 = localDateTime.minusDays(4);
        System.out.println(localDateTime);//2020-04-11T07:06
        System.out.println(localDateTime3);//2020-04-07T07:06


    }

瞬时Instant 使用 

  @Test
    public  void testInstant(){
        //瞬时类Instant使用
        //获取本初子午线时间
        Instant instant = Instant.now();
        System.out.println(instant);//2022-04-10T23:26:19.389Z

        //添加时区偏移量
        OffsetDateTime offsetDateTime =  instant.atOffset(ZoneOffset.ofHours(8));
        System.out.println(offsetDateTime);//2022-04-11T07:26:19.389+08:00

        //获取从1970.1.1 0:0:0 的毫秒值
        long time =  instant.toEpochMilli();
        System.out.println(time);//1649633347658

        //通过给定的毫秒数,获取对应的Instant的实例
        Instant instant1 = Instant.ofEpochMilli(1649633347658L);
        System.out.println(instant1);//2022-04-10T23:29:07.658Z

    }

 

 TimeDateFormatter 自定义时间格式

 @Test
    public  void  testDateTimeFormatter(){
        //foPatten("yyyy- MM - dd  hh:mm:ss") 自定义格式
        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy - MM - dd hh:mm:ss");
        //解析当前时间
        String str = dateTimeFormatter.format(LocalDateTime.now());
        System.out.println(str);//打印出的自定义格式的时间格式


    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值