Java 时间API(旧)

1.System类中的currentTimeMillis()

@Test
    public void test1(){
        long time = System.currentTimeMillis();
        //返回当前时间与1970年1月1日0时0分0秒之间以毫秒为单位的时间差
        //称为时间戳
        System.out.println(time);
    }
/**
     *  Java.Util.Date类
     *      |--- Java.sql.Date类
     * 1.两个构造器的使用
     *      >构造器一 : Date() : 创建一个对应当前时间的Date对象
     *      >构造器二 : 创建指定毫秒数的Date对象
     * 2.两个方法的使用
     *      > toString() : 显示当前 年,月,日,时,分,秒
     *      > getTime() : 获取当前Date对象对应的毫秒数 (时间戳)
     *
     * 3.java.sql.Date 对应着数据库中的日期类型的变量
     *  > 如何实例化
     *  > 如何将util.Date对象转换成sql.Date对象
    */
 @Test
    public void test2(){
        //构造器一 : Date() : 创建一个当前的Date对象
        Date date1 = new Date();
        System.out.println(date1.toString());
        System.out.println(date1.getTime()); //1617889893180

        //构造器二 : 创建指定毫秒的Date对象
        Date date2 = new Date( 1617889893180L );
        System.out.println(date2.toString());


        //创建java.sql.Date对象
        java.sql.Date date3 = new java.sql.Date( 35235323545L );
        System.out.println( date3 ); //1971-02-13

        //如何将java.util.Date对象转换成java.sql.Date对象
        Date date4 = new java.sql.Date( 234324242343L );
        java.sql.Date date5 = (java.sql.Date) date4;
        System.out.println("-------------------------------");

        Date date6 = new Date();
        java.sql.Date date7 = new java.sql.Date( date6.getTime() );
        System.out.println(date7);
    }

jdk 8之前的日期时间的API测试

  1. System类中currentTimeMillis();
  2. java.util.Date和子类java.sql.Date
  3. SimpleDateFormat
  4. Calendar

SimpleDateFormat的使用:SimpleDateFormat对日期Date类的格式化和解析

1.两个操作:
1.1 格式化:日期 —>字符串
1.2 解析:格式化的逆过程,字符串 —> 日期

2.SimpleDateFormat的实例化

 @Test
    public void testSimpleDateFormat() throws ParseException {
        //实例化SimpleDateFormat : 使用的默认构造器
        SimpleDateFormat dfs = new SimpleDateFormat();

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

        //解析:格式化的逆过程,字符串 ---> 日期
        String str = "21-4-19 上午11:39";
        Date parse = dfs.parse( str );
        System.out.println(parse);

        System.out.println("--------------------------------");


        //*************按照指定的方式格式化和解析:调用带参的构造器*****************
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        //格式化
        String format1 = sdf1.format( date );
        System.out.println( format1 );
        //解析:要求字符串必须是符合SimpleDateFormat识别的格式(通过构造器参数体现),
        //否则,抛异常
        Date parse1 = sdf1.parse( "2021-04-09 12:01:52" );
        System.out.println( parse1 );
    }

java.text.SimpleDateFormat类
Date类的API不易于国际化,大部分被废弃了,java.text.SimpleDateFormat类是一个不与语言环境有关的方式来格式化和解析日期的具体类。
它允许进行格式化:日期 --> 文本、解析:文本 --> 日期
格式化:
SimpleDateFormat() :默认的模式和语言环境创建对象
public SimpleDateFormat(String pattern):该构造方法可以用参数pattern
指定的格式创建一个对象,该对象调用:
public String format(Date date):方法格式化时间对象date
解析:
public Date parse(String source):从给定字符串的开始解析文本,以生成一个日期。

 	/**
     * 练习 : 将字符串 2021-04-09 转换成 java.sql.Date 形式
     */
    @Test
    public void testExer() throws ParseException {
        String birth = "2021-04-09";
        SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
        Date date = sdf1.parse( birth );
        System.out.println(date);
        java.sql.Date birthDate = new java.sql.Date(date.getTime());
        System.out.println(birthDate);
    }

 	/**
     * Calendar 日历类 (抽象类) 的使用
     */

    @Test
    public void testCalendar(){
        //1.实例化
        //方式一 : 创建其子类 (GregorianCalendar) 对象
        //方式二 : 调用其静态方法getInstance()
        //Calendar gregorianCalendar = new GregorianCalendar();
        Calendar calendar = Calendar.getInstance();

        //2.常用方法
        //get()
        int days = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(days);
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));

        //set()
        //calendar可变性
        calendar.set(Calendar.DAY_OF_MONTH,22);
        days = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(days);

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

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

        //setTime():Date ---> 日历类
        Date date1 = new Date();
        calendar.setTime(date1);
        days = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(days);

    }

总结 :常用的旧版时间API

  1. Date
  2. SimpleDateFormat

Date方法:
toString()
getTime()

SimpleDateFormat方法:
format()
parse()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值