如何获得Java年度的第一个星期日?
以下代码段可帮助您查找一年中的第一个星期日,也可以将其替换为所需的任何一天。为此,我们可以使用TemporalAdjusters.firstInMonth调节器,该调节器将返回同月的第一个匹配日期的新日期。用于“一月的第一个星期日”之类的表达。
因为我们想首先获得一年中的第一个星期日,所以我们创建了一个LocalDate代表2020年1月1日的星期日。然后我们调用该with()方法,并向传递firstInMonth调节器以DayOfWeek.SUNDAY进行查找。除了使用Java 8日期时间API外,您还可以使用旧的java.util.Calendar类,如下面的代码片段所示。但是使用新的日期时间API可以使您更具可读性,更简单和更少的代码编写。
package org.nhooo.example.datetime;import java.time.DayOfWeek;
import java.time.LocalDate;
import java.time.Month;
import java.time.ZoneId;
import java.util.Calendar;
import static java.time.temporal.TemporalAdjusters.firstInMonth;
public class FirstSundayOfTheYear {
public static void main(String[] args) {
// 使用Java 8日期时间获取一年中的第一个星期日
LocalDate now = LocalDate.of(2020, Month.JANUARY, 1);
LocalDate sunday = now.with(firstInMonth(DayOfWeek.SUNDAY));
System.out.println("The first Sunday of 2020 falls on: " + sunday);
// 使用旧的java.util.Calendar获取一年中的第一个星期日
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
calendar.set(Calendar.DAY_OF_WEEK_IN_MONTH, 1);
calendar.set(Calendar.MONTH, Calendar.JANUARY);
calendar.set(Calendar.YEAR, 2020);
System.out.println("The first Sunday of 2020 falls on: " + calendar.getTime());
System.out.println("The first Sunday of 2020 falls on: " +
LocalDate.ofInstant(calendar.getTime().toInstant(), ZoneId.systemDefault()));
}
}
此代码段将打印出以下输出:
The first Sunday of 2020 falls on: 2020-01-05The first Sunday of 2020 falls on: Sun Jan 05 04:39:59 CST 2020
The first Sunday of 2020 falls on: 2020-01-05
以上是 如何获得Java年度的第一个星期日? 的全部内容, 来源链接: utcz.com/z/315863.html