欢迎访问宙启技术站
智能推送

Java日期函数及其格式化示例

发布时间:2023-05-27 11:37:03

Java中有许多与日期相关的函数和类。在本文中,我们将介绍常用的日期函数及其格式化示例。

1. Date类

Date类是Java中最基本的日期类,用于表示日期和时间。可以使用以下两种方式创建Date对象:

// 无参构造函数,表示当前日期和时间
Date date1 = new Date();

// 根据指定的毫秒数创建日期对象
Date date2 = new Date(1593379615018L);

Date类的常用函数:

// 返回一个long类型的值,表示从1970年1月1日 00:00:00到当前日期和时间之间的毫秒数
public long getTime();

// 将Date类型转换为字符串
public String toString();

// 返回一个布尔值,指示该Date对象是否在指定日期之前
public boolean before(Date date);

// 返回一个布尔值,指示该Date对象是否在指定日期之后
public boolean after(Date date);

2. SimpleDateFormat类

SimpleDateFormat类用于将日期格式化为指定字符串。以下是SimpleDateFormat类的构造函数:

SimpleDateFormat():默认构造函数
SimpleDateFormat(String pattern):根据指定的格式字符串创建SimpleDateFormat对象

SimpleDateFormat类的常用函数:

// 格式化日期对象为指定格式的字符串
public String format(Date date);

// 将指定格式的字符串解析为日期对象
public Date parse(String source) throws ParseException;

SimpleDateFormat类格式化日期的示例:

| 格式符 | 说明 |

| :-----: | :-----: |

| yyyy | 年份,四位数字 |

| MM | 月份,两位数字 |

| dd | 日期,两位数字 |

| E | 星期几,如:Mon、Tue |

| HH | 小时,24小时制,两位数字 |

| mm | 分钟,两位数字 |

| ss | 秒钟,两位数字 |

| SSS | 毫秒,三位数字 |

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
Date date = new Date();
String str = sdf.format(date); // 将日期对象格式化为指定格式的字符串
System.out.println(str); // 输出:2020/06/28 11:26:55

SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 E HH:mm:ss");
String str2 = "2020年06月28日 日 11:26:55";
Date date2 = sdf2.parse(str2); // 将指定格式的字符串解析为日期对象
System.out.println(date2.toString()); // 输出:Sun Jun 28 11:26:55 CST 2020

3. Calendar类

Calendar类是一个抽象类,用于操作日期和时间。它是单例模式的,因此无法使用构造函数创建对象。可以使用以下代码获取Calendar对象:

Calendar calendar = Calendar.getInstance();

Calendar类的常用函数:

// 获取年份
public int get(int field);

// 获取月份,从0开始计数
public int get(int field);

// 获取日期
public int get(int field);

// 获取小时数,24小时制
public int get(int field);

// 获取分钟数
public int get(int field);

// 获取秒数
public int get(int field);

// 获取毫秒数
public int get(int field);

// 设置日期和时间
public void set(int field, int value);

// 在当前日期和时间上增加指定的时间量
public void add(int field, int value);

Calendar类操作日期的示例:

Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH) + 1; // 注意:月份从0开始计数,需要 +1 才是实际月份
int day = calendar.get(Calendar.DATE);

calendar.set(Calendar.YEAR, 2021);
calendar.set(Calendar.MONTH, Calendar.DECEMBER); // 月份从0开始计数,Calendar.DECEMBER 代表12月
calendar.set(Calendar.DATE, 31);

calendar.add(Calendar.DATE, 1); // 在当前日期基础上加 1 天

以上是Java中常用的日期函数及其格式化示例。通过这些函数和类,开发人员可以方便地处理日期和时间。需要注意的是,在处理日期时,时区也要考虑进去,否则可能会出现错误。