Java的日期类常用方法

Java_Date

第一代日期类

  • 获取当前时间

Date date = new Date();

System.out.printf("当前时间" + date);

  • 格式化时间信息

SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-mm-dd  hh:mm:ss E);

System.out.printf("格式化后时间" + simpleDateFormat(date)")

  • 把一个格式化后的String转换成Date,String类型的格式必须和SimpleDateFormat格式一致

String s = "1996-01-01 8:20:56 星期一";
Date date1 = simpleDateFormat.parse(s);
System.out.println("s = " + simpleDateFormat.format(date1));

Java_Calendar

第二代日期类(抽象类),构造器是私有化的,因此需要getInstance()来获取实例

  • 创建日期类对象

Calendar instance = Calendar.getInstance();

  • 获取当前年

System.out.println("年: " + instance.get(Calendar.YEAR));

  • 获取当前月,需要加1

System.out.println("月: " + (instance.get(Calendar.MONTH)+1));

  • 获取当前日

System.out.println("日: " + instance.get(Calendar.DAY_OF_MONTH));

  • 获取当前小时,24小时制

System.out.println("时: " + instance.get(Calendar.HOUR_OF_DAY));

  • 获取当前小时,12 小时制

System.out.println("时: " + instance.get(Calendar.HOUR));

  • 获取当前分钟

System.out.println("分: " + instance.get(Calendar.MINUTE));

  • 获取当前秒

System.out.println("秒: " + instance.get(Calendar.SECOND));

Java_LocalDayTime

 第三代日期类

  • 返回当前日期时间对象

LocalDateTime ldt = LocalDateTime.now();
System.out.println(ldt);

  • 获取当前年

System.out.println("年 = " + ldt.getYear());

  • 获取当前月的值

System.out.println("月 = " + ldt.getMonthValue());

  • 获取当前月

System.out.println("月 = " + ldt.getMonth());

  • 获取当前日

System.out.println("日 = " + ldt.getDayOfMonth());

  • 获取当前时

System.out.println("时 = " + ldt.getHour());

  • 获取当前分

System.out.println("分 = " + ldt.getMinute());

  • 获取当前秒

System.out.println("秒 = " + ldt.getSecond());

  • 获取年月日

LocalDate now = LocalDate.now();

  • 获取到时分秒

LocalTime now1 = LocalTime.now();

格式化LocalDateTime

DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH小时mm分钟ss秒");
String format = dateTimeFormatter.format(ldt);
System.out.println("格式化后的日期为:" + format);

### Java 日期类常用方法及示例 Java 中的日期类包括 `Date`、`Calendar`、`LocalDateTime` 等。以下是这些类的一些常用方法及其示例代码。 #### 1. `Date` 类常用方法 `Date` 类提供了许多用于操作日期和时间的方法,例如获取当前时间、比较日期、设置时间等[^2]。 ```java import java.util.Date; public class DateExample { public static void main(String[] args) throws InterruptedException { Date date = new Date(); Thread.sleep(1); // 确保两个日期不同 Date date1 = new Date(); System.out.println("当前时间:" + date.toString()); System.out.println("date 是否在 date1 之后:" + date.after(date1)); System.out.println("date 是否在 date1 之前:" + date.before(date1)); System.out.println("比较两个日期:" + date.compareTo(date1)); long timeInMillis = date.getTime(); // 获取毫秒数 System.out.println("当前时间的毫秒数:" + timeInMillis); date.setTime(timeInMillis + 5000); // 设置新的时间(加 5 秒) System.out.println("五秒后的时间:" + date.toString()); } } ``` #### 2. `Calendar` 类常用方法 `Calendar` 类提供了一种更灵活的方式来处理日期和时间,支持设置和获取年、月、日等信息[^4]。 ```java import java.util.Calendar; public class CalendarExample { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, 2023); // 设置年份 calendar.set(Calendar.MONTH, Calendar.DECEMBER); // 设置月份(从 0 开始) calendar.set(Calendar.DAY_OF_MONTH, 31); // 设置日期 System.out.println("年份:" + calendar.get(Calendar.YEAR)); System.out.println("月份:" + (calendar.get(Calendar.MONTH) + 1)); // 月份从 0 开始 System.out.println("日期:" + calendar.get(Calendar.DAY_OF_MONTH)); System.out.println("星期:" + calendar.get(Calendar.DAY_OF_WEEK)); } } ``` #### 3. `LocalDateTime` 类常用方法 `LocalDateTime` 是 Java 8 引入的新日期时间 API 的一部分,提供了丰富的操作日期和时间的方法[^1]。 ```java import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.temporal.TemporalAdjusters; public class LocalDateTimeExample { public static void main(String[] args) { LocalDateTime dateTime = LocalDateTime.of(2025, 10, 20, 15, 45, 30); System.out.println("日期部分:" + dateTime.toLocalDate()); // 提取日期部分 System.out.println("时间部分:" + dateTime.toLocalTime()); // 提取时间部分 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss"); String formattedDateTime = dateTime.format(formatter); // 格式化日期 System.out.println("格式化后的日期:" + formattedDateTime); LocalDateTime lastDayOfMonth = dateTime.with(TemporalAdjusters.lastDayOfMonth()); // 调整到当月最后一天 System.out.println("调整到当月最后一天:" + lastDayOfMonth); } } ``` #### 4. `DateTimeFormatter` 类 `DateTimeFormatter` 用于格式化和解析日期时间对象[^3]。 ```java import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class DateTimeFormatterExample { public static void main(String[] args) { LocalDateTime dateTime = LocalDateTime.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss"); String formattedDateTime = dateTime.format(formatter); // 格式化日期 System.out.println("格式化后的日期:" + formattedDateTime); LocalDateTime parsedDateTime = LocalDateTime.parse(formattedDateTime, formatter); // 解析日期 System.out.println("解析后的日期:" + parsedDateTime); } } ``` ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Antoinette.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值