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