Java中的日期和时间函数使用指南。
Java中提供了一系列日期和时间函数,方便程序开发者操作和处理时间。在这篇文章中,我们将针对Java中常用的日期和时间函数进行详细介绍。
1. Date类
Date类是Java中最基础的日期和时间类,它提供了能够获取和设置日期和时间的方法。它包含两个构造函数:无参构造和带long型参数的构造函数。无参构造函数获取当前日期和时间,带long型参数的构造函数可以指定一个日期和时间。
获取Date对象:
Date date = new Date();
将long型时间转换为Date对象:
long time = System.currentTimeMillis(); Date date = new Date(time);
2. Calendar类
Calendar类是一个抽象类,提供了操作日期和时间的方法。它通过getInstance()方法创建一个Calendar对象,并将其初始化为当前日期和时间。
获取当前日期和时间:
Calendar calendar = Calendar.getInstance();
获取指定时间的Calendar对象:
Date date = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(date);
Calendar类中还提供了许多操作日期和时间的方法,例如add(),roll()和get()等。
add()方法用于添加指定的时间量到Calendar对象中。例如,要将当前日期和时间加上10天,可以使用以下代码:
Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DATE, 10);
roll()方法只会修改Calendar对象中指定字段的值,而不会修改其他字段的值。例如,以下代码只会将月份加上1,而不会修改年份:
Calendar calendar = Calendar.getInstance(); calendar.roll(Calendar.MONTH, 1);
get()方法用于获取指定字段的值。例如,以下代码可以获取当前日期和时间的月份:
Calendar calendar = Calendar.getInstance(); int month = calendar.get(Calendar.MONTH);
注意:其中月份的取值为0-11,表示1月到12月。
3. SimpleDateFormat类
SimpleDateFormat类是一个用于格式化日期和时间的类。它可以将日期和时间以指定的格式转换为字符串,也可以将字符串转换为日期和时间。
将日期和时间转换为字符串:
Date date = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strDate = formatter.format(date);
将字符串转换为日期和时间:
String strDate = "2021-10-23 16:30:00";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = formatter.parse(strDate);
注意:在使用SimpleDateFormat类时,需要指定合适的格式化串。
4. Instant类
Instant类是Java 8中新增的日期和时间类。它可以获取UTC时间,并且提供了与时区无关的操作方法。
获取当前时间:
Instant instant = Instant.now();
将时间戳转换为Instant对象:
long timestamp = 1578599420000L; Instant instant = Instant.ofEpochMilli(timestamp);
5. LocalDateTime类
LocalDateTime类表示本地日期和时间。它没有时区信息,可以提供与时区无关的日期和时间操作方法。它是Java 8中新增的日期和时间类。
获取当前日期和时间:
LocalDateTime localDateTime = LocalDateTime.now();
将LocalDateTime对象转换为字符串:
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String strDateTime = localDateTime.format(formatter);
将字符串转换为LocalDateTime对象:
String strDateTime = "2021-10-23 16:30:00";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(strDateTime, formatter);
以上就是Java中常用的日期和时间函数的使用指南。通过使用这些函数,我们可以轻松地处理和操作日期和时间。
