Java8获取今天至未来某天的日期范围及格式化

今天至未来某天的日期范围

    /**
     * 返回今天的日期最小值
     */
    public static LocalDateTime minDate(){
        LocalDate localDate = LocalDate.now();
        LocalTime localTime = LocalTime.MIN;
        LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
        return localDateTime;
    }

    /**
     * 返回未来某天的日期最大值
     */
    public static LocalDateTime maxDateByDays(Integer day){
        LocalDate localDate = LocalDate.now().plusDays(day);
        LocalTime localTime = LocalTime.MAX;
        LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
        return localDateTime;
    }
  • 测试 【获取日期范围在2021-01-02-----2021-01-05之间的值】
    public static void main(String[] args) {
        System.out.println(minDate());  // 2021-01-02T00:00
        System.out.println(maxDateByDays(3)); // 2021-01-05T23:59:59.999999999
    }

在这里插入图片描述

将日期格式化

    /**
     * 返回今天的日期最小值
     */
    public static String minDateFormatted(){
        LocalDate localDate = LocalDate.now();
        LocalTime localTime = LocalTime.MIN;
        LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
        String format = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        return format;
    }

      /**
     * 返回未来某天的日期最大值
     */
    public static String maxDateByDaysFormatted(Integer day){
        LocalDate localDate = LocalDate.now().plusDays(day);
        LocalTime localTime = LocalTime.MAX;
        LocalDateTime localDateTime = LocalDateTime.of(localDate, localTime);
        String format = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
        return format;
    }

  • 再次测试
    public static void main(String[] args) {
       // System.out.println(minDate());  // 2021-01-02T00:00
       // System.out.println(maxDateByDays(3)); // 2021-01-05T23:59:59.999999999

        System.out.println(minDateFormatted()); //2021-01-02 00:00:00
        System.out.println(maxDateByDaysFormatted(6)); //2021-01-08 23:59:59

    }

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Java 8中,可以使用`DateTimeFormatter`类来格式化日期。 以下是一个示例代码,可以将日期格式化为指定的字符串格式: ```java import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class DateFormatExample { public static void main(String[] args) { // 创建一个 LocalDateTime 对象 LocalDateTime now = LocalDateTime.now(); // 创建一个日期时间格式化对象 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); // 使用格式化对象将日期格式化为字符串 String formattedDateTime = now.format(formatter); // 输出格式化后的日期字符串 System.out.println("Formatted date time: " + formattedDateTime); } } ``` 在上面的示例中,我们首先创建了一个`LocalDateTime`对象,表示当前日期和时间。然后,我们使用`DateTimeFormatter`类创建了一个日期时间格式化对象,并指定了格式化字符串`"yyyy-MM-dd HH:mm:ss"`,表示年份-月份-日期 时:分:秒的格式。最后,我们使用格式化对象将`LocalDateTime`对象格式化为字符串,并输出该字符串。 ### 回答2: 在Java 8中,日期格式化是通过`DateTimeFormatter`类来实现的。这个类提供了许多预定义的格式化模式,也支持自定义格式化模式。 要使用`DateTimeFormatter`类进行日期格式化,首先需要创建一个实例,并指定所需的格式。例如,如果我们想将一个`LocalDate`对象格式化为"yyyy-MM-dd"的形式,可以使用以下代码: ```java LocalDate date = LocalDate.now(); // 获取当前日期 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 创建格式化器 String formattedDate = date.format(formatter); // 使用格式化格式化日期 System.out.println(formattedDate); // 输出格式化后的日期 ``` 上述代码中,我们首先使用`LocalDate.now()`获取了当前日期,然后创建了一个指定格式为"yyyy-MM-dd"的`DateTimeFormatter`对象。接下来,我们使用`format()`方法将`LocalDate`对象格式化为字符串,并将结果赋给`formattedDate`变量。最后,我们通过`System.out.println()`方法将格式化后的日期输出到控制台。 除了预定义的格式化模式,`DateTimeFormatter`还支持自定义格式化模式,可以根据需求灵活设置日期的格式。比如,如果我们想将日期格式化为"MM/dd/yyyy HH:mm:ss"的形式,可以使用以下代码: ```java LocalDateTime dateTime = LocalDateTime.now(); // 获取当前日期时间 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy HH:mm:ss"); // 创建格式化器 String formattedDateTime = dateTime.format(formatter); // 使用格式化格式化日期时间 System.out.println(formattedDateTime); // 输出格式化后的日期时间 ``` 上述代码中,我们使用`LocalDateTime.now()`获取了当前日期时间,然后创建了一个指定格式为"MM/dd/yyyy HH:mm:ss"的`DateTimeFormatter`对象。接下来,我们使用`format()`方法将`LocalDateTime`对象格式化为字符串,并将结果赋给`formattedDateTime`变量。最后,我们通过`System.out.println()`方法将格式化后的日期时间输出到控制台。 总结起来,Java 8提供了强大且灵活的日期格式化功能,通过`DateTimeFormatter`类可以方便地进行日期格式化。无论是使用预定义的格式化模式还是自定义格式化模式,我们都可以通过`format()`方法将日期格式化为所需的形式。 ### 回答3: Java 8 引入了新的日期时间 API,使日期格式化变得更加简单和灵活。在Java 8之前,我们通常使用SimpleDateFormat类来格式化日期,但这个类存在线程安全问题。Java 8 的新日期时间 API是线程安全的,并且提供了一种更好的方式来格式化日期Java 8 提供了DateTimeFormatter类,用于格式化日期和时间。我们可以使用DateTimeFormatter的ofPattern()方法,传入一个模式来指定日期格式。模式是一个由各种字符组成的字符串,每个字符代表了一个日期或时间元素的格式。例如,"yyyy-MM-dd"代表了年份、月份和日期的格式。 下面是一个例子,展示了如何使用DateTimeFormatter来格式化日期: ```java import java.time.LocalDate; import java.time.format.DateTimeFormatter; public class DateTimeFormatting { public static void main(String[] args) { LocalDate currentDate = LocalDate.now(); DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); String formattedDate = currentDate.format(formatter); System.out.println("Formatted date: " + formattedDate); } } ``` 上述代码中,我们首先获取了当前日期,并创建了一个DateTimeFormatter对象来指定日期格式。然后,我们使用format()方法将当前日期格式化为指定格式的字符串。最后,我们输出格式化后的日期。 运行上述代码,将会得到类似于"2022-01-01"的格式化日期。 除了日期之外,我们还可以格式化时间和日期时间。DateTimeFormatter还提供了对应的字符来表示小时、分钟、秒等时间元素的格式。 总的来说,Java 8提供了简单、安全和灵活的日期格式化方式,通过DateTimeFormatter类的ofPattern()方法,我们能轻松地指定任何我们想要的日期格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值