时间相关类型

本文介绍了Java中的Date类和Calendar类,以及如何使用Calendar获取和设置日期时间信息。Date类表示特定瞬间,精度到毫秒,但大部分方法已被Calendar取代。Calendar是抽象类,提供多种日历字段的操作,如设置、获取时间。SimpleDateFormat用于日期的格式化和解析。文章还展示了如何添加或减少时间,以及获取日期范围的最大和最小值。
摘要由CSDN通过智能技术生成

Date类

        Date表示特定的瞬间,精确到毫秒。

        Date类中的大部分方法已经被Calendar类中的方法所取代;

        时间单位:

                1秒 = 1000毫秒;

                1毫秒 = 1000微秒;

                1微秒 = 1000纳秒;

Date()

        分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒);

Date(long date)

        分配Date对象并初始化此对象,以表示自从标准基准时间(1970年1月1日0:00)以来的指定毫秒数;


Calendar类

        Calendar提供了获取或设置各种日历字段的方法;

        构造方法:protected Calendar():由于修饰符是protected,所以无法直接创建该对象;

        其他方法:

        

方法名说明
static Canlendar getlnstance()        使用默认时区和区域获取日历;
void set(int year,int month,int date,int hourofday,int minute,int second)设置日历的年、月、日、时、分、秒;
int get(int field)返回给定日历字段(如年月日)的值;
void setTime(Date date)用给定的Date设置此日历的时间;
Date getTime()返回一个Date表示此日历的时间;
void add(int field,int amount)按照日历的规则给指定字段添加或减少时间量;
long getTimeInMillies()毫秒为单位返回该日历的时间值;
public class Date {
    public static void main(String[] args) {
        //1.创建Calendar对象
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.getTime().toLocaleString());//显示当前时间
        System.out.println(calendar.getTimeInMillis());

        //2.获取时间信息
        int Year = calendar.get(Calendar.YEAR);
        int Month = calendar.get(Calendar.MONTH);//0-11,0表示1月,11表示12月,使用时可以加1
        int Day = calendar.get(Calendar.DAY_OF_MONTH);
        int Hour = calendar.get(Calendar.HOUR_OF_DAY);//HOUR 12小时制;HOUR_OF_DAY24小时制
        int Minute = calendar.get(Calendar.MINUTE);
        int Second = calendar.get(Calendar.SECOND);
        System.out.println(Year+"年"+(Month+1)+"月"+Day+"日"+Hour+"时"+Minute+"分"+Second+"秒");
        
        //3.修改时间
        Calendar calendar1 = Calendar.getInstance();
        calendar1.set(Calendar.MONTH,5);
        System.out.println(calendar1.getTime().toLocaleString());

        //4.add方法添加或减少时间
        calendar.add(Calendar.HOUR_OF_DAY,-1);
        System.out.println(calendar.getTime().toLocaleString());

        //5.补充方法
        int max = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
        int min = calendar.getActualMinimum(Calendar.DAY_OF_MONTH);
        System.out.println("最大日期"+max+",最小日期"+min);
    }
}

SimpleDateFormat类

        SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类;

        进行格式化(日期->文本)、解析(文本->日期);

        常用的时间模式字母:

字母日期或时间示例
y2023
M年中月份03
d月中天数28
H一天中小时数(0-23)10
m分钟25
s59
S毫秒234

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值