227时间日期相关类总结

时间日期相关类总结

1.Date类
  A.构造方法
    Date();                         根据当前系统时间创建日期对象
    Date(long time);           根据传入的毫秒值时间创建日期对象
  B.成员方法
    longEetTime();                     获取当前日期对象的毫秒值时间
    String toLocaleString();       根据本地格式转换日期对象

 public static void main(String[] args) {
        //获取当前系统到1970年1月1日00:00:00经历了多少毫秒
        System.out.println(System.currentTimeMillis());
    }
}
结果:
public class Demo02Date {
    public static void main(String[] args) {
        demo01();
        demo02();
        demo03();
    }
    /*
    Date的空参构造方法
    Date()获取的就是系统的日期和时间
     */
    private static void demo01() {
        Date D = new Date();
        //Wed Jul 06 09:02:37 CST 2022
        //CST是表示中国标准时间
        System.out.println(D);//Wed Jul 06 09:07:53 CST 2022

    }

    /*
    Date类的参数的构造方法
    Date(long date):传递毫秒值,把毫秒值转换为Date日期
     */
    private static void demo02() {
        Date D1 = new Date(0L);
        System.out.println(D1);//Thu Jan 01 08:00:00 CST 1970

        Date D2 = new Date(18564156419856L);
        System.out.println(D2);//Tue Apr 11 06:06:59 CST 2558

    }

    /*
    longgetTime()把日期转换为毫秒
    返回值1970年1月1日00:00:00以此来Date对象表示毫秒数
     */
    private static void demo03() {
        Date D3 = new Date();
        long time = D3.getTime();
        System.out.println(time);//1657069936820
    }
}

 


2.DateFormat类&SimpleDateFormat类
  A.构造方法
    SimpleDateFormat(String s);        根据指定模板创建日期格式化对象
  B.成员方法
    String format(Date d);       根据指定格式格式化日期对象
    Date parse(String s);         根据指定格式解析字符串  

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

    }
    /*
    使用 Dateformat类中的方法 format,把曰期格式化为文本
    String format( Datedate)按照指定的模式,把Date日期,格式化为符合模式的字符串
    使用步骤:1.创建 Simpledate Format对象,构造方法中传递指定的模式
    2.调用 Simpledate Format对象中的方法 format,按照构造方法中指定的模式,把pote日期格式化为符合模式的字符串(文本)
    */
    private static void demo01() {
        //1.创建 Simpledate Format对象,构造方法中传递指定的模式
        SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        SimpleDateFormat s1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        Date date = new Date();
        String a1 = s.format(date);
        String a2 = s1.format(date);
        System.out.println(a1);//2022-07-06 09:38:44
        System.out.println(a2);//2022年07月06日 09时38分44秒
    }
  public static void main(String[] args) throws ParseException {
        demo01();
        demo02();

    }

/*
    使用 Dateformat类中的方法 parse,把文本解析为日期
    Date parse( String source)把符合模式的字符串,解析为Date日期
    使用步骤:
    1.创建 Simpledate Format对象,构造方法中传递指定的模式
    2.调用Simpledate Format对象中的方法parse把符合构造方法中模式的字符串,解析为Date日期

    注意:
    public Date parse (string source )throws Parseexception
    parse方法声明了一个异常叫 Parseexception解析异常
    如果字符串和构造方法中的模式不一样,那么程序就会抛出此异常
    调用一个抛出异常的方法,就必须的处理这个异常,要么 throws继续声明抛出这一个异常,要么try....catch自己处理这个异常
     */
    private static void demo02() throws ParseException {
        //1.创建 Simpledate Format对象,构造方法中传递指定的模式
        SimpleDateFormat a1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
        //2.调用Simpledate Format对象中的方法parse把符合构造方法中模式的字符串,解析为Date日期
        Date date = a1.parse("2022年07月06日 09时38分44秒");
        System.out.println(date);
    }

 

3.Calendar类
  A.创建对象方式
    Calendar c = Calendar.newlnstance();       获取日历类对象
  B.成员方法I
    int get(int n);                  获取指定日历字段信息
    void set(int n,int value);                      将指定日历字段设置为指定的值void add(int n,int value);将指定日历字段增加或减少指定的值

 public static void main(String[] args) {
        Calendar instance = Calendar.getInstance();
        System.out.println(instance);
    }
}

结果:
java.util.GregorianCalendar[time=1657074477173,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun
.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,la
stRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2022,MONTH=6,WEEK_OF_YEAR=28,WEEK_OF_MONTH
=2,DAY_OF_MONTH=6,DAY_OF_YEAR=187,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=10,HOUR_OF_DAY=10,MINUTE=
27,SECOND=57,MILLISECOND=173,ZONE_OFFSET=28800000,DST_OFFSET=0]
/*
    成员方法
        public int get( int fie1d):返定日历字段的值。
        public void set( int field, int value):将给定的日历字段设置为给定值
        public abstract void add (int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量
        public Date gettime():返回一个表示此 Calendar时间值(从历元到现在的毫秒偏移量)的Date对象
    成员方法的参数:
        in field:日历类的字段,可以使用Calendar类的静态成员变量获取
     */

    public static void main(String[] args) {
        demo();
        demo01();
        demo02();


    }
    /*
    public int get( int field):返回给定日历字段的值参数:传递指定的日历字段(YEAR, MONTH.)返回值:日历字段代表具体的值
     */
    private static void demo() {
    //使用geiInstance方法获取Calendar对象
        Calendar c = Calendar.getInstance();
        int i = c.get(Calendar.YEAR);
        System.out.println(""+i);

        int i1 = c.get(Calendar.MONTH);
        System.out.print(""+(i1+1));

        int i2 = c.get(Calendar.DATE);
        System.out.println(""+i2);

        int i3 = c.get(Calendar.HOUR);
        System.out.print(""+i3);

        int i4 = c.get(Calendar.MINUTE);
        System.out.print("-分"+i4);

        int i5 = c.get(Calendar.SECOND);
        System.out.print("-秒"+i5);
    }

    /*
    public void set( int field, int value):将给定的日历字段设置为给定值。参数
    参数:int field:传递指定的日历字段(YEAR, MONTH)int value:传递的字段设置的具体的值
     */
    private static void demo01() {
        //使用geiInstance方法获取Calendar对象
        Calendar c = Calendar.getInstance();
        //设置年为1999
        c.set(Calendar.YEAR,1999);
        //设置月为1
        c.set(Calendar.MONTH,1);
        //设置日为1
        c.set(Calendar.DATE,1);
        //可以同时设置年月日
        c.set(1999,12,12);

        int A1 = c.get(Calendar.YEAR);
        System.out.println(""+A1);

        int A2 = c.get(Calendar.MONTH);
        System.out.print(""+A2);

        int A3 = c.get(Calendar.DATE);
        System.out.println(""+A3);
    }
/*
public abstract void add (int field, int amount):
根据日历的规则,为给定的日历字段添加或减去指定的时间量。
把指定的字段增加/减少指定的值参数:int field:;
传递指定的日历字段(YEAR, MONTH.)int amount:
增加/减少的值正数:增加负数:减少
 */
    private static void demo02() {
        //使用geiInstance方法获取Calendar对象
        Calendar c = Calendar.getInstance();
        c.add(Calendar . YEAR, 2);//把年增加2年
        c.add(Calendar.MONTH, -3);//把月减少3个月
        c.add(Calendar.DATE,+5);//天数加五
        int year = c.get(Calendar . YEAR);
        System.out.println(year);
        int month = c.get(Calendar.MONTH);
        System.out.println(month+1);//西方的月份6-11东方:1-12
        int date = c.get(Calendar. DAY_OF_MONTH);
        System.out.println(date);

    }}

 

posted @ 2022-07-06 13:06  ja不会va  阅读(27)  评论(0)    收藏  举报