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

Java中的时间函数:Date、Calendar和SimpleDateFormat的使用方法

发布时间:2023-09-14 17:46:48

Java中的时间函数是用于处理日期和时间的类和方法的集合。其中最常用的包括java.util.Datejava.util.Calendarjava.text.SimpleDateFormat。下面将介绍它们的使用方法。

1. java.util.Date

Date类用于表示时间点,可以用于获取当前时间、表示一个特定的时间点或者将时间戳转换为特定格式的字符串。

- 获取当前时间:

     Date now = new Date();
     

- 将时间戳转换为日期对象:

     long timestamp = System.currentTimeMillis();
     Date date = new Date(timestamp);
     

- 将日期对象转换为时间戳:

     long timestamp = date.getTime();
     

- 格式化日期为字符串:

     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     String formattedDate = sdf.format(date);
     

- 解析字符串为日期对象:

     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     Date date = sdf.parse("2021-01-01 12:00:00");
     

2. java.util.Calendar

Calendar类用于进行日期和时间的计算和操作。它提供了一些方法来获取、设置和操作日期的各个字段,如年、月、日、时、分、秒等。

- 获取当前日期和时间:

     Calendar calendar = Calendar.getInstance();
     int year = calendar.get(Calendar.YEAR);
     int month = calendar.get(Calendar.MONTH); // 月份从0开始,所以需要加1
     int day = calendar.get(Calendar.DAY_OF_MONTH);
     int hour = calendar.get(Calendar.HOUR_OF_DAY);
     int minute = calendar.get(Calendar.MINUTE);
     int second = calendar.get(Calendar.SECOND);
     

- 设置日期和时间:

     Calendar calendar = Calendar.getInstance();
     calendar.set(Calendar.YEAR, 2021);
     calendar.set(Calendar.MONTH, 0); // 月份从0开始,所以0表示1月
     calendar.set(Calendar.DAY_OF_MONTH, 1);
     calendar.set(Calendar.HOUR_OF_DAY, 12);
     calendar.set(Calendar.MINUTE, 0);
     calendar.set(Calendar.SECOND, 0);
     

- 对日期和时间进行加减:

     Calendar calendar = Calendar.getInstance();
     calendar.add(Calendar.MONTH, 1); // 加一个月
     calendar.add(Calendar.DAY_OF_MONTH, -1); // 减一天
     

- 判断是否为闰年:

     Calendar calendar = Calendar.getInstance();
     int year = calendar.get(Calendar.YEAR);
     boolean isLeapYear = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
     

3. java.text.SimpleDateFormat

SimpleDateFormat类用于将日期对象格式化为指定的字符串,或者将字符串解析为日期对象。

- 格式化日期为字符串:

     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     String formattedDate = sdf.format(date);
     

- 解析字符串为日期对象:

     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
     Date date = sdf.parse("2021-01-01 12:00:00");
     

- 自定义日期格式:

     SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
     String formattedDate = sdf.format(date); // 输出的格式类似于 Wed, 01 Jan 2021 12:00:00 +0800
     

以上是Date、Calendar和SimpleDateFormat的使用方法。通过这些类和方法,可以方便地处理日期和时间的各种操作、格式化和解析。