日期处理常用类

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

一 . java.util.Date类:

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

1 . 构造方法:

(1) public Date() 获取系统当前时间。
(2) 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 格林尼治标准时间

2 . 常用方法:

public long getTime() 返回对象表示日期到1970.1.1的毫秒值。
使用毫秒值与其他日期类型进行转换。

二 . java.sql.Date类:

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

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());
}

三 . SimpleDateFormat类:

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

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

1 . 构造方法:

SimpleDateFormat(String pattern) 使用给定模式SimpleDateFormat并使用默认的 FORMAT语言环境的默认日期格式符号。
String pattern 这是一个模式字符串,使用一些标准的字母表示特定的日期字段。
Y 表示的是年
M 表示的是月
d 表示的是日期
H 24小时的小时
h 12小时的小时
m 分钟
s 秒
S 毫秒

2 . 常用方法:

publicfinal 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();
    }
}

三 . Calendar类:

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

但Date有点老和旧。所以这些方法基本都不用的。

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

就可以使用Calendar类。

1 . Calendar构造方法:

没有。Calendar是一个抽象类。
不用new关键字去创建实例。可以调用本类的静态方法,获取子类的实例。

2 . 常用方法:

(1) public static Calendar getInstance()
使用默认时区和区域设置获取日历。
Calendar calendar = Calendar.getInstance();//静态方法

(2) public int get(int field)
返回给定日历字段的值。例如:获取年份,获取月份,获取一年中的第几天。
参数 int field 是用来指明,你要获取的字段。是年份?还是月份?还是什么其他。
MONTH月份,值从0开始。与实际月份之间差1。
DAY_OF_WEEK星期。星期取值1-7。星期日是每周的第一天

(3) public final void set(int year,int month,int date)
publicfinal void set(int year, int month, int date,int hourOfDay, int minute, int second)
public void set(int field , int value)
设置给定日历字段的值

(4) publicabstract 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);

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


int dayOfWeek = calendar.get(Calendar.DAY_OF_WEEK);//星期取值1-7。星期日是每周的第一天。
System.out.println(dayOfWeek);

//输出系统当前日期。格式如下:yyyy年mm月dd日 星期一
String[] weeks = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
System.out.println(weeks[dayOfWeek-1]);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰阔落好喝Wow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值