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

Java中时间和日期函数的使用和格式化方式

发布时间:2023-06-14 17:55:26

Java的日期和时间函数主要包括java.util.Date和java.util.Calendar两个类。其中Date类是Java中表示时间的类,Calendar类是用来对日期和时间进行加减计算、格式化等操作的类。

1. Date类的使用

Date类是Java中最常用的时间类,它表示一个标准的时间点,精确到毫秒。Date类提供的方法主要用于时间的比较和格式化操作。

1.1 获取当前时间

获取当前时间的方式有两种,一种是使用系统当前时间创建Date对象,另一种是使用System.currentTimeMillis()方法获取当前时间的毫秒数。

Date date1 = new Date(); //创建一个表示当前时间的Date对象

long time = System.currentTimeMillis(); //获取当前时间的毫秒数

1.2 比较时间

Date类提供了before()、after()和equals()方法用于比较两个时间的先后顺序和是否相等。

Date date1 = new Date();

Date date2 = new Date();

boolean b1 = date1.before(date2); //判断date1是否在date2之前

boolean b2 = date1.after(date2);  //判断date1是否在date2之后

boolean b3 = date1.equals(date2); //判断date1是否等于date2

1.3 格式化时间

Date类还可以通过SimpleDateFormat类对时间进行格式化。SimpleDateFormat是Java中用来格式化日期和时间的类,它可以将Date对象格式化为指定格式的字符串。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String strDate = sdf.format(new Date()); //将当前时间格式化为指定格式的字符串

2. Calendar类的使用

Calendar类是Java中常用的日期和时间处理类,它可以用来进行日期和时间的加减操作,以及获取日期和时间的各种信息。

2.1 获取当前时间

获取当前时间的方式是通过Calendar.getInstance()方法获取当前系统时间的Calendar对象。

Calendar cal = Calendar.getInstance(); //获取系统当前时间的Calendar对象

2.2 设置时间

Calendar类提供了set()方法用于设置日期和时间的各个字段,其中月份是从0开始计数的。

cal.set(Calendar.YEAR, 2022);     //设置年份为2022

cal.set(Calendar.MONTH, 0);       //设置月份为1(即1月)

cal.set(Calendar.DAY_OF_MONTH, 1);//设置日为1日

cal.set(Calendar.HOUR_OF_DAY, 0); //设置小时为0时

cal.set(Calendar.MINUTE, 0);      //设置分钟为0分

cal.set(Calendar.SECOND, 0);      //设置秒为0秒

2.3 加减时间

Calendar类可以通过add()方法对日期和时间进行加减操作,其中第一个参数表示要加减的时间字段,第二个参数表示要加减的数量。

cal.add(Calendar.YEAR, 1);    //加一年

cal.add(Calendar.MONTH, -1);  //减一个月

cal.add(Calendar.DAY_OF_MONTH, 7); //加7天

2.4 获取时间字段信息

Calendar类可以通过get()方法获取日期和时间的各个字段的信息,其中各个字段的含义如下。

Calendar.YEAR:年份

Calendar.MONTH:月份(从0开始计数)

Calendar.DAY_OF_MONTH:月份中的日期

Calendar.DAY_OF_WEEK:星期几(1代表星期天,2代表星期一,以此类推)

Calendar.HOUR_OF_DAY:24小时制的小时数

Calendar.MINUTE:分钟数

Calendar.SECOND:秒数

int year = cal.get(Calendar.YEAR); //获取年份

int month = cal.get(Calendar.MONTH); //获取月份(0~11)

int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH); //获取月份中的日期

int dayOfWeek = cal.get(Calendar.DAY_OF_WEEK); //获取星期几

int hourOfDay = cal.get(Calendar.HOUR_OF_DAY); //获取小时数(24小时制)

int minute = cal.get(Calendar.MINUTE); //获取分钟数

int second = cal.get(Calendar.SECOND); //获取秒数

2.5 格式化时间

Calendar类同样可以通过SimpleDateFormat类对时间进行格式化。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String strDate = sdf.format(cal.getTime()); //将Calendar对象格式化为指定格式的字符串

总结

Java中时间和日期函数的使用和格式化方式主要包括Date类和Calendar类。Date类用来表示时间点,并提供了比较和格式化操作;Calendar类则用来进行日期和时间的加减计算,以及获取日期和时间的各种信息,并同样提供了格式化操作。在实际应用中,根据需求选择相应的时间类和方法可以更好地满足业务需求。