【知识分享】Java获取当前周的开始时间结束时间

简介: 【知识分享】Java获取当前周的开始时间结束时间

在某种场景下我们可能需要获取当前周的开始时间、结束时间,当前月的开始时间、结束时间等,给大家分享一个工具类帮助大家快速去获取你需要的时间,便于节省时间。

package org.util;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.TemporalAdjusters;
public class Test {
    public static void main(String[] args) {
        // 获取当天日期
        LocalDate now = LocalDate.now();
        // 当天开始时间
        LocalDateTime todayStart = now.atStartOfDay();
        // 当天结束时间
        LocalDateTime todayEnd = LocalDateTime.of(now, LocalTime.MAX);
        // 周一
        LocalDate monday = now.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
        // 周日
        LocalDate sunday = now.with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
        // 本周开始时间
        LocalDateTime weekStart = monday.atStartOfDay();
        // 本周结束时间
        LocalDateTime weekEnd = LocalDateTime.of(sunday, LocalTime.MAX);
        // 本月1号
        LocalDate firstDayOfMonth = now.with(TemporalAdjusters.firstDayOfMonth());
        // 本月最后一天
        LocalDate lastDayOfMonth = now.with(TemporalAdjusters.lastDayOfMonth());
        // 本月1号的开始时间
        LocalDateTime firstDayOfMonthStart = firstDayOfMonth.atStartOfDay();
        // 本月最后一天的最后时间
        LocalDateTime firstDayOfMonthEnd = LocalDateTime.of(lastDayOfMonth, LocalTime.MAX);
        // 今年第一天
        LocalDate beginTime = LocalDate.now().with(TemporalAdjusters.firstDayOfYear());
        // 今年最后一天
        LocalDate endTiime = LocalDate.now().with(TemporalAdjusters.lastDayOfYear());
        //获取前一天日期
        LocalDate yesterday2 = LocalDate.now().minusDays(1);
        DateTimeFormatter pattern = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        System.out.println("当天开始时间 = " + todayStart.format(pattern));
        System.out.println("当天结束时间 = " + todayEnd.format(pattern));
        System.out.println("本周开始时间 = " + weekStart.format(pattern));
        System.out.println("本周结束时间 = " + weekEnd.format(pattern));
        System.out.println("本月开始时间 = " + firstDayOfMonthStart.format(pattern));
        System.out.println("本月结束时间 = " + firstDayOfMonthEnd.format(pattern));
    }
}
相关文章
|
4月前
|
Java API
Java基础之日期和时间
【7月更文挑战第4天】 Java日期时间API概览:Java 8之前,Date表示不可变时间点,Calendar用于计算,SimpleDateFormat处理格式化。Date的setXXX方法不推荐,Calendar支持加减操作。时区处理用TimeZone,Time仅处理时间(不含日期)。Java 8引入java.time包,提供Instant、LocalDate等线程安全类,改进了性能和易用性,支持时区和更复杂操作。后续将探讨Java 8的新特性!
45 1
|
4月前
|
安全 Java API
Java基础之新日期和时间
“【7月更文挑战第6天】”Java 8 引入了`java.time`包,改进了日期和时间处理。新API包括:`LocalDate`(线程安全的日期)、`LocalTime`(时间)、`LocalDateTime`(日期和时间)、`ZonedDateTime`(带时区的日期和时间)、`Instant`(时间戳)、`DateTimeFormatter`(线程安全的格式化器)、`Period`(日期间隔)和`Duration`(时间间隔)。
26 0
|
4月前
|
安全 Java API
如何在Java中处理日期和时间?
如何在Java中处理日期和时间?
|
6月前
|
Java
一文搞懂Java的时间与日期
本文是关于Java中日期和时间的处理,介绍了JDK8之前和之后的不同方法。在JDK8之前,使用`Date`、`SimpleDateFormat`和`Calendar`类,示例包括创建日期、格式化时间、解析字符串以及修改日期。JDK8引入了`LocalDate`、`LocalTime`、`LocalDateTime`、`ZoneId`、`ZonedDateTime`、`Instant`和`DateTimeFormatter`等新类,提供了更丰富的日期和时间操作,如获取时区时间、格式化与解析、计算日期间隔等。文章结尾鼓励读者点赞和支持。
97 1
|
6月前
|
Java
java获取指定日期是第几周
java获取指定日期是第几周
110 0
java中获取当前系统时间以及过半小时之后的时间的实现
java中获取当前系统时间以及过半小时之后的时间的实现
Java:LocalDateTime获取今天的开始时间和结束时间
Java:LocalDateTime获取今天的开始时间和结束时间
387 0
|
Java
Java获取当天、当前月、当前年(今年)的开始和结束时间戳
Java获取当天、当前月、当前年(今年)的开始和结束时间戳
380 0
|
SQL Java 数据库连接
java 自动设置结束时间为n个工作日后的日期
java 自动设置结束时间为n个工作日后的日期
156 0
|
Java
java获取当前时间的前一个小时
java获取当前时间的前一个小时
481 0