Java获取日期时间

在Java中,我们可以使用java.util.Date类和java.util.Calendar类来获取和操作日期时间。Date类提供了许多方法来处理日期和时间,而Calendar类提供了更多的灵活性和功能。

使用java.util.Date类获取日期时间

java.util.Date类表示一个特定的时间点,精确到毫秒。我们可以使用Date类来获取当前日期时间,或者根据一个特定的日期时间字符串来创建一个Date对象。

获取当前日期时间

我们可以使用Date类的无参构造函数来创建一个表示当前日期时间的Date对象:

Date now = new Date();
System.out.println(now);

上述代码将打印出当前日期时间,例如:Fri Jul 23 10:15:30 GMT+08:00 2021

根据日期时间字符串创建Date对象

如果我们有一个特定格式的日期时间字符串,可以使用SimpleDateFormat类来将其转换为Date对象:

String dateTimeString = "2021-07-23 10:15:30";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = format.parse(dateTimeString);
System.out.println(date);

上述代码将打印出指定日期时间,例如:Fri Jul 23 10:15:30 GMT+08:00 2021

格式化日期时间

如果我们想要以特定的格式显示日期时间,可以使用SimpleDateFormat类的format()方法:

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
String formattedDateTime = format.format(date);
System.out.println(formattedDateTime);

上述代码将打印出当前日期时间的格式化结果,例如:2021-07-23 10:15:30

使用java.util.Calendar类获取日期时间

java.util.Calendar类提供了更多的日期和时间操作功能。我们可以使用Calendar类来获取当前日期时间,或者根据一些特定的日期时间值来创建一个Calendar对象。

获取当前日期时间

我们可以使用Calendar类的getInstance()方法来获取一个表示当前日期时间的Calendar对象:

Calendar now = Calendar.getInstance();
System.out.println(now.getTime());

上述代码将打印出当前日期时间,例如:Fri Jul 23 10:15:30 GMT+08:00 2021

根据日期时间值创建Calendar对象

如果我们有一些特定的日期时间值,可以使用Calendar类的set()方法来设置年、月、日、时、分、秒等字段的值:

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2021);
calendar.set(Calendar.MONTH, Calendar.JULY);
calendar.set(Calendar.DAY_OF_MONTH, 23);
calendar.set(Calendar.HOUR_OF_DAY, 10);
calendar.set(Calendar.MINUTE, 15);
calendar.set(Calendar.SECOND, 30);
System.out.println(calendar.getTime());

上述代码将打印出指定日期时间,例如:Fri Jul 23 10:15:30 GMT+08:00 2021

获取日期时间字段的值

我们可以使用Calendar类的get()方法来获取特定字段的值,例如年、月、日等:

Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println(year + "-" + (month + 1) + "-" + dayOfMonth);

上述代码将打印出当前日期,例如:2021-7-23

总结

通过使用java.util.Date类和java.util.Calendar类,我们可以方便地获取和操作日期时间。Date类提供了简单的日期时间操作方法,而Calendar类提供了更多的灵活性和功能。我们可以根据需要选择适合的类来处理日期时间。

以下是一个总结了上述内容的表格:

方法 描述
Date() 创建一个表示当前日期时间的Date对象
Date(long millis) 根据指定的毫秒数创建一个Date对象
SimpleDateFormat(String pattern) 使用指定的模式创建一个SimpleDateFormat对象
parse(String source) 将指定的日期时间字符串解析为Date对象
format(Date date) 将指定的Date对象格式化为字符串
getInstance()