Java-string类4.2

关于日期时间的API

一JDK之前的API

  1. System类的currentTimeMillis()

>获取当前时间对应的毫秒数,long类型,时间戳,\

>当前时间与1970年1月1日0时0分0秒之间的毫秒数

>常用来计算时间差

  1. 两个Date类

> |--Java.util.Date

>两个构造器的使用

    >两个方法的使用

(子类)|---Java.sql.Date:对应数据库中的date类型


 

public class DateTimeTest {

    public static void main(String[] args) throws ParseException {

        Date date1 = new Date(); //创建一个基于当前系统时间的Date实例

        System.out.println("当前系统时间:"+ date1.toString());//当前系统时间:Tue Jul 18 09:53:24 CST 2023



        long milliTinmes = date1.getTime();

        System.out.println("当前毫秒数是:" + milliTinmes);//当前毫秒数是:1689645204400



        Date date2 = new Date(1689644294479L);  //创建一个基于指定时间戳的Date的实例

        System.out.println(date2.toString());//Tue Jul 18 09:38:14 CST 2023



        DateTimeTest.test2();



        System.out.println();

        java.sql.Date date3 = new java.sql.Date(1689644294479L);

        System.out.println(date3.toString()); //2023-07-18

        System.out.println(date3.getTime());  //1689644294479



        //DateTimeTest.test3();

        DateTimeTest.test4();



}

      public static void test2(){



        java.sql.Date date1 = new java.sql.Date(1689644294479L);

        System.out.println(date1.toString());  //023-07-18

}





/**

     * Calendar:日历类

     * 1 实例化 由于Calendar是一个抽象类,所以我们需要创建其子类的实例。这里我们通过Calender的静态方法

     *           getInsance()即可获取

     *

     * 2常用方法:get(int field) / set(int field,XX) / add(int field,xx) / getTime() / setTime();

     */

    public static void test5(){

       Calendar calendar = Calendar.getInstance();



       System.out.println();

//       System.out.println(calendar.getClass());

//      测试方法

        //get(int field)

        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));



        //set(int field,xx)

        calendar.set(Calendar.DAY_OF_MONTH, 23);





        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));



        //add(int field,xx)

        calendar.add(Calendar.DAY_OF_MONTH,3);

        calendar.add(Calendar.DAY_OF_MONTH,-5);

        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));



        //getTime():Calender --->Date

        Date date = calendar.getTime();

        System.out.println("一号" + date);



        //SetTime():使用指定Date重置Calendar

        Date date1 = new Date();

        calendar.setTime(date1);

        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));



    }



}

练习:如何将一个java.util.Date的实例转换为java.sgL.Date的实例

package Test0713;



import java.util.Date;



public class Exer01 {

    /**

     * 练习:

     * 如何将一个java.util.Date的实例转换为java.sgL.Date的实例

     */

    public static void main(String[] args) {

        Exer01 e1 = new Exer01();

        e1.test1();

    }

    public void test1(){

        Date date1 = new Date();



//      错误的

//        java.sql.Date date2 = (java.sql.Date) date1;

//        System.out.println(date2);



        //正确的

        java.sql.Date date2 = new java.sql.Date(date1.getTime());

        System.out.println(date2);



    }



}

总代码:

package Test0713;

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

/**
 * Dat类的使用
 *
 * |--Java.util.Date
 *  >两个构造器的使用
 *  >两个方法的使用
 *    |---Java.sql.Date:对应数据库中的date类型
 */


public class DateTimeTest {
    public static void main(String[] args) throws ParseException {
        Date date1 = new Date(); //创建一个基于当前系统时间的Date实例
        System.out.println("当前系统时间:"+ date1.toString());//当前系统时间:Tue Jul 18 09:53:24 CST 2023

        long milliTinmes = date1.getTime();
        System.out.println("当前毫秒数是:" + milliTinmes);//当前毫秒数是:1689645204400

        Date date2 = new Date(1689644294479L);  //创建一个基于指定时间戳的Date的实例
        System.out.println(date2.toString());//Tue Jul 18 09:38:14 CST 2023

        DateTimeTest.test2();

        System.out.println();
        java.sql.Date date3 = new java.sql.Date(1689644294479L);
        System.out.println(date3.toString()); //2023-07-18
        System.out.println(date3.getTime());  //1689644294479

        //DateTimeTest.test3();
        DateTimeTest.test4();

        DateTimeTest.test5();

    }
    public static void test2(){

        java.sql.Date date1 = new java.sql.Date(1689644294479L);
        System.out.println(date1.toString());  //023-07-18

    }

    /**
     * SimpleDateFormat类:用于日期的格式化和解析
     *
     * 格式化:日期--->字符串
     * 解析:字符串 --->日期
     *
     */

    public static void test3() throws ParseException {   //年月日 及时间
        SimpleDateFormat sdf = new SimpleDateFormat();
        // 日期--->字符串
        Date date1 = new Date();
        String strDate = sdf.format(date1);
        System.out.print("\n测试3:");
        System.out.println(strDate);  //测试3:2023/7/18 16:34

        //解析: 字符串--->日期

        Date date2 = sdf.parse("22-12-5 16:37");
        System.out.println(date2);
    }

    public static void test4() throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
        sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        //格式化:日期 --->字符串
        Date date1 = new Date();
        String strDate = sdf.format(date1);
        System.out.println();
        System.out.println(strDate);  //周二, 18 7月 2023 16:54:46 +0800

        //解析:字符串 --->日期
        Date date2 = sdf.parse("2022-12-05 14:27:19");
        System.out.println(date2);
    }

    /**
     * Calendar:日历类
     * 1 实例化 由于Calendar是一个抽象类,所以我们需要创建其子类的实例。这里我们通过Calender的静态方法
     *           getInsance()即可获取
     *
     * 2常用方法:get(int field) / set(int field,XX) / add(int field,xx) / getTime() / setTime();
     */
    public static void test5(){
       Calendar calendar = Calendar.getInstance();

       System.out.println();
//       System.out.println(calendar.getClass());
//      测试方法
        //get(int field)
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));

        //set(int field,xx)
        calendar.set(Calendar.DAY_OF_MONTH, 23);


        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

        //add(int field,xx)
        calendar.add(Calendar.DAY_OF_MONTH,3);
        calendar.add(Calendar.DAY_OF_MONTH,-5);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

        //getTime():Calender --->Date
        Date date = calendar.getTime();
        System.out.println("一号" + date);

        //SetTime():使用指定Date重置Calendar
        Date date1 = new Date();
        calendar.setTime(date1);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

    }

}

你可能感兴趣的:(java,开发语言)