日期时间类

一、Date类

1.本节介绍

(1)Date类两个构造方法(无参与有参)

(2)Date类的一个成员方法getTime

(3)格式化类DateFormat(抽象类)的子类SimpleDateFormat的两个成员方法:format方法与parse方法

 

2.Date类的构造方法:

(1)无参   Date():可以用来访问系统当前时间

import java.util.Date;

public class Date类 {
    public static void main(String[] args) {
        Date date=new Date();
        System.out.println(date);
    }
}

运行结果:

 Wed Nov 10 15:06:13 CST 2021

(2)有参   Date(long date):可以访问自基准时间(1970年1月1日00:00:00 GMT)起经过指定毫秒数date过后的时间

import java.util.Date;

public class Date类 {
    public static void main(String[] args) {
        Date date=new Date(0L);
        System.out.println(date);
    }
}

运行结果:

Thu Jan 01 08:00:00 CST 1970

 

3.Date类的getTime方法:返回自1970年1月1日 00:00:00 GMT以来此Date对象表示的毫秒数

import java.util.Date;

public class Date类 {
    public static void main(String[] args) {
        Date date=new Date();
        long time=date.getTime();
        System.out.println(time);
    }
}

运行结果:

1636528911694

 

4.格式化DateFormat类(抽象类):

(1)子类SimpleDateFormat

<1>format方法

import java.text.SimpleDateFormat;
import java.util.Date;
/**
 *         y  年
 *         M  月
 *         d  日
 *         H  时
 *         m  分
 *         s  秒
 */
public class Date类 {
    public static void main(String[] args) {
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日  HH时mm分ss秒");
        Date date=new Date();
        String d=sdf.format(date);
        System.out.println(date);
        System.out.println(d);
    }
}    

运行结果:

Wed Nov 10 15:32:21 CST 2021
2021年11月10日  15时32分21秒

<2>parse方法:将字符串解析成一个日期,并返回这个日期的Date对象

注意:字符串格式要遵循SimpleDateFormat格式,否则报错;要进行异常处理

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

public class Date类 {
    public static void main(String[] args) throws ParseException {
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日  HH时mm分ss秒");
        Date date=sdf.parse("2021年11月10日  15时32分21秒");
        System.out.println(date);
    }
}

运行结果:

Wed Nov 10 15:32:21 CST 2021

 

二、Calendar日历类(抽象类)

1.本节介绍:

(1)Calendar抽象类创建对象方法

(2) Calendar类的字段

(3)Calendar类的四个成员方法

 

2.出现缘由:由于Date类设计之初没有考虑到国际化,因而大部分方法已经过时,现在大部分使用Calendar类

3.创建对象(运用):运用getInstance方法

Calendar c=Calendar.getInstance();

4.Calendar类成员方法

字段(field)如下:

字段名 说明
DATE get和set的字段数字,指示一个月中的某天
DAY_OF_MOUTH

get和set的字段数字,指示一个月中的某天

DAY_OF_WEEK get和set的字段数字,指示一个星期中的某天
DAY_OF_WEEK_IN_MONTH get和set的字段数字,指示当前月中的第几星期
DAY_OF_YEAR get和set的字段数字,指示当前年中的天数
HOUR get和set的字段数字,指示上午或下午的小时
HOUR_OF_DAY get和set的字段数字,指示一天中的小时
MILLISECOND get和set的字段数字,指示一秒中的毫秒
MINUTE get和set的字段数字,指示一小时中的分钟
MOUNT 指示月份的get和set数字
SECOND get和set的字段数字,指示一分钟的秒
time 日历的当前设置时间,以毫秒为单位,表示1970年1月1日00:00:00后经过的时间
WEEK_OF_MONTH get和set的字段数字,指示当前月中的星期数
WEEK_OF_YEAR get和set的字段数字,指示当前年中的星期数
YEAR 指示年的get和set的字段数字

 

(1)public int get(int field)    获取日历中字段的值

public class Date类 {
    public static void main(String[] args) {
        Calendar c=Calendar.getInstance();
        int year=c.get(Calendar.YEAR);
        System.out.println(year);
        
        int month=c.get(Calendar.MONTH);
        System.out.println(month);//月份从0-11
        
        int date=c.get(Calendar.DATE);
        System.out.println(date);//10日
        
        System.out.println("今天是"+year+"年"+(month+1)+"月"+date+"日");
    }
}

运行结果:

2021
10
10
今天是2021年11月10日

(2)public void set(int field,int value)    给日历设置时间

import java.util.Calendar;

public class Date类 {
    public static void main(String[] args) {
        Calendar c=Calendar.getInstance();
        c.set(Calendar.YEAR,2001);
        c.set(Calendar.MONTH, 10);
        c.set(Calendar.DATE,02);
        int year=c.get(Calendar.YEAR);
        int month=c.get(Calendar.MONTH);
        int date=c.get(Calendar.DATE);
        System.out.println(year+"年"+month+"月"+date+"日");
    }
}

运行结果:

2001年10月2日

(3)public abstract void add(int filed,int amount)    在给定日历字段添加或减去指定时间

import java.util.Calendar;

public class Date类 {
    public static void main(String[] args) {
        Calendar c=Calendar.getInstance();
        c.add(Calendar.YEAR, 5);
        int year=c.get(Calendar.YEAR);
        System.out.println("现在的时间增加5年:"+year);
    }
}

运行结果:

现在的时间增加5年:2026

(4)public Date getTime()    将日历转换成日期

public class Date类 {
    public static void main(String[] args) {
        Calendar c=Calendar.getInstance();
        Date date=c.getTime();
        System.out.println(date);
    }
}

运行结果:

Wed Nov 10 16:59:25 CST 2021

 

posted @ 2021-11-10 17:06  小波学代码  阅读(39)  评论(0)    收藏  举报