java8之前的时间api

1.java8之前的时间主要的类,包含两个,java.util.Date,java.sqlDate
2.基本使用

package com.yl.pdfdemo.day08.p1;

import org.junit.Test;

import java.util.Date;

/**
 * @Author wfj
 * @Date 2021/5/12
 * @Description java中的两个时间类:java.util.Date、java.sql.Date
 * @Version 1.0
 */

public class DateTimeTest {

    @Test
    public void test1() {
        //一般我们都是使用java.util包下的Date
        Date date = new Date();//获取系统当前时间
        System.out.println(date.toString());
        long time = date.getTime();//当前时间对应的毫秒数
        System.out.println(time);
        Date date1 = new Date(1620813247797L);
        System.out.println(date1.toString());

        //java.util.Date与java.sql.Date的转换
        Date date2 = new Date();
        java.sql.Date date3 = new java.sql.Date(date2.getTime());
        System.out.println(date3.toString());
    }
}

3.使用simpleDateFormat进行格式化或者解释,以及说明Calender日历类的基本使用

package com.yl.pdfdemo.day08.p1;

import org.junit.Test;

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

/**
 * @Author wfj
 * @Date 2021/5/21
 * @Description jdk8之前的时间Api
 * @Version 1.0
 */

public class DateTimeTest2 {
    /**
     * SimpleDateFormat的使用,对日期进行格式化,或者解析
     */
    @Test
    public void testSimpleDateFormat() {
        //实例化对象,使用默认的构造器
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat();

        //格式化:日期 => 字符串
        Date date = new Date();
        System.out.println(date);
        String str = simpleDateFormat.format(date);
        System.out.println(str);

        //解析:字符串 => 日期
        String str1 = "20-05-20 上午05:20";
        try {
            Date date1 = simpleDateFormat.parse(str1);
            System.out.println(date1);
        } catch (ParseException e) {
            e.printStackTrace();
        }

        //实例化对象,使用带参数的构造器
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String s2 = sdf.format(date);
        System.out.println(s2);
        //格式必须符合sdf构造器里的参数一样
        String s3 = "2020-05-20 05:20:00";
        try {
            Date date2 = sdf.parse(s3);
            System.out.println(date2);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }

    /**
     * 字符串和"2011-11-11"转成java.sql.Date
     */
    @Test
    public void test() {
        String date = "2011-11-11";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        try {
            Date date1 = sdf.parse(date);
            java.sql.Date date2 = new java.sql.Date(date1.getTime());
            System.out.println(date2);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }

    /**
     * Calendar(抽象类)的使用
     */
    @Test
    public void test1() {
        /**
         * 特别地:要注意,获取月份时,一月是0,二月是1,依此类推,获取星期时,周日是1,周一是2,。。。周六是7
         */
        //1.实例化
        //方式一:创建其子类(GregorianCalendar)
        //方式二:调用其子类
        Calendar calendar = Calendar.getInstance();

        //常用方法
        //get()
        //这个月的第几天
        int day = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(day);
        //这一年的第几天
        int day1 = calendar.get(Calendar.DAY_OF_YEAR);
        System.out.println(day1);

        //set()
        //设置天数
        calendar.set(Calendar.DAY_OF_MONTH,20);
        int day2 = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(day2);

        //add()
        //添加天数
        calendar.add(Calendar.DAY_OF_MONTH,-3);
        int day3 = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(day3);

        //getTime()
        //日历类 => Date
        Date date = calendar.getTime();
        System.out.println(date);

        //setTime()
        //Date => 日历类
        calendar.setTime(date);
        int day4 = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(day4);
    }
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值