java temporal,Java TemporalAdjusters

Java TemporalAdjusters 教程展示了如何使用 TemporalAdjusters 修改 Java 中的 Temporal 对象。

时间是日期,时间和偏移对象的基本接口类型,包括LocalDate,LocalTime,LocalDateTime和Instant。

Java TemporalAdjusters

TemporalAdjusters 用于修改时间对象。 他们允许查找星期,月份或年份的第一天或最后一天; 一周的第二天或下一天,依此类推。

Java TemporalAdjusters示例

以下示例使用内置的 TemporalAdjusters 方法。

JavaTemporalAdjustersEx.java

该示例介绍了七个时间调节器。

我们使用LocalDate.now()计算当前本地日期。

使用firstDayOfMonth(),我们可以找到当月的第一天。

使用lastDayOfMonth(),我们可以找到该月的最后一天。

使用next()和DayOfWeek.MONDAY,我们找到下一个星期一。

使用firstDayOfNextMonth(),我们可以找到下个月的第一天。

使用lastDayOfYear(),我们可以找到一年中的最后一天。

使用firstDayOfYear(),可以找到一年的第一天。

使用lastInMonth()和DayOfWeek.SUNDAY,我们可以找到该月的最后一个星期日。

这是输出。

Java 自定义TemporalAdjuster

我们可以创建我们的自定义时间调整器。

JavaCustomTemporalAdjusterEx.java

本示例使用LocalDate.of()创建日期。 它在日期上增加了 14 天并打印结果。

这是一个 lambda 表达式,它创建一个TemporalAdjuster,它向创建的日期对象增加 14 天。

我们得到结果。

This is the output.

我们可以通过实现TemporalAdjuster接口来创建时间调整器。

JavaCustomTemporalAdjusterEx2.java

在示例中,自定义TemporalAdjuster计算下一个 XMas 的日期。

我们实现了adjustInto()方法,该方法返回 XMa 的 Temporal 对象,调用该方法的日期应调整为该对象。

This is the output.

在本教程中,我们使用 Java TemporalAdjusters 完成了日期和时间的修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是Java代码实现获取本周起止时间的方法: ```java import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Main { public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); String startOfWeek = sdf.format(cal.getTime()); // 本周第一天 cal.add(Calendar.DAY_OF_WEEK, 6); String endOfWeek = sdf.format(cal.getTime()); // 本周最后一天 System.out.println("本周起止时间:" + startOfWeek + " 至 " + endOfWeek); } } ``` 输出结果为: ``` 本周起止时间:2021-12-06 至 2021-12-12 ``` ### 回答2: Java可以通过`java.time`包中的`LocalDate`类来获取本周的起止时间。 首先,我们可以使用`LocalDate.now()`方法获取当前日期。然后,使用`TemporalAdjusters`类的静态方法来获取本周的起始日期和结束日期。`TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)`方法可以获取本周的周一日期,`TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)`方法可以获取本周的周日日期。 下面是获取本周起止时间的示例代码: ```java import java.time.DayOfWeek; import java.time.LocalDate; import java.time.temporal.TemporalAdjusters; public class Main { public static void main(String[] args) { LocalDate now = LocalDate.now(); LocalDate startOfWeek = now.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY)); LocalDate endOfWeek = now.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY)); System.out.println("本周起始日期:" + startOfWeek); System.out.println("本周结束日期:" + endOfWeek); } } ``` 以上代码会打印出当前日期所在的本周起始日期和结束日期。例如,如果今天是周二,代码会输出以下结果: ``` 本周起始日期:xxxx-xx-xx (周一的日期) 本周结束日期:xxxx-xx-xx (周日的日期) ``` 通过上述代码,可以灵活地获取任意一周的起始日期和结束日期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值