Java基础之日期处理常用类

目录

1 java.util.Date类

2 java.sql.Date类

3 SimpleDateFormat类

 4 Calendar类


在Java中表示日期类型的类有二个:java.util.Date和java.util.Calendar类。

1 java.util.Date类

        表示日期的类。使用Date可以最快的获取系统当前时间

1.1 构造方法

        ① public Date() 获取系统当前时间。

        ② public Date(long date) 按1970.1.1到指定时间的毫秒值来获得系统时间。

 public static void main(String[] args) {
    Date date = new Date();//系统当前时间
    System.out.println(date);
}

//Fri Feb 17 16:54:05 CST 2023    格林尼治标准时间

1.2 常用方法

        public long getTime() 返回对象表示日期到1970.1.1的毫秒值。

        使用毫秒值与其他日期类型进行转换。

2 java.sql.Date

        java.sql.Date类是一个用来表示数据库中日期类型的对象。

2.1 构造方法

        Date(long date)  使用给定的毫秒时间值构造一个 Date对象。

public static void main(String[] args) {
    Date date = new Date();//系统当前时间

    System.out.println(date);
    System.out.println(date.getTime());
    //数据库中的Date
    java.sql.Date d = new java.sql.Date(date.getTime());
    System.out.println(d);
    Date da = new Date(d.getTime());
}

3 SimpleDateFormat类

        SimpleDateFormat是对Date数据类型进行格式化的类。

        因为直接输出一个Date对象。日期格式是格林尼治标准时间。一般用户看不懂。

3.1 构造方法

        SimpleDateFormat(String pattern) 使用给定模式 SimpleDateFormat并使用默认的 FORMAT语言环境的默认日期格式符号。

        String pattern 这是一个模式字符串,使用一些标准的字母表示特定的日期字段。

 Y 表示的是年

M 表示的是月

d 表示的是日期

H 24小时的小时

h 12小时的小时

m 分钟

s

S 毫秒

3.2 常用方法

        public final String format(Date date)        将日期格式化成日期/时间字符串。

public static void main(String[] args) {
    Date date = new Date();//系统当前时间

    SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒!");
    String dateStr = format.format(date);
    System.out.println(dateStr);
}

        public Date parse(String source) throws ParseException

        从给定字符串的开始解析文本以生成日期。 该方法可能不会使用给定字符串的整个文本。

public static void main(String[] args) {
    Date date = new Date();//获取系统当前时间
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    //将一个日期类型转换为字符串
    String format = sdf.format(date);
    System.out.println(format);
    
    String birthday = "2000-2-21";
    try {
        Date d = sdf.parse(birthday);
        System.out.println(d);
    } catch (ParseException e) {
        e.printStackTrace();
    }
}

 4 Calendar类

        以前Date类中提供了在日期中获取每一个日期数值的方法。例如:获取年份值,获取月份

时,获取日期的值。

        现在如果我们需要操作日期(加一个月,520天之后)获取日期数值,例如获取年份值,获

取月份时,就可以使用Calendar类。

4.1 Calendar构造方法

        没有构造方法。Calendar是一个抽象类

        不用new关键字去创建实例。可以调用本类的静态方法,获取子类的实例。

4.2 常用方法

        ① public static Calendar getInstance()        使用默认时区和区域设置获取日历。

 Calendar calendar = Calendar.getInstance();//静态方法

        ② public int get(int field)

        返回给定日历字段的值。例如:获取年份,获取月份,获取一年中的第几天。

        参 int field 是用来指明,你要获取的字段。

        MONTH 月份,值从0开始。与实际月份之间差1。

        DAY_OF_WEEK 星期。星期取值1-7。星期日是每周的第一天。

        ③ public final void set(int year,int month,int date)

        public final void set(int year, int month, int date, int hourOfDay, int minute, int second)

        public void set(int field , int value)

        设置给定日历字段的值

        ④ public abstract void add(int field,int amount)

        根据日历的规则,将指定的时间量添加或减去给定的日历字段

calendar.set(Calendar.MONTH , 2);
System.out.println(calendar);
calendar.add(Calendar.DAY_OF_MONTH , -20);
System.out.println(calendar); 

4.3 练习:输出系统当前日期。

        格式如下:yyyymmdd日 星期一

int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);

System.out.println(dayOfWeek);

//输出系统当前日期。格式如下:yyyy年mm月dd日 星期一

String[] weeks = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

System.out.println(weeks[dayOfWeek-1]);

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值