LocalDate的API操作

LocalDate、LocalDateTime、LocalTime方法的基本使用 localdate是针对于年月日的,localtime是针对于时分秒,localdatetime是针对于年月日时分秒。 阅读详情
package com.akaiqi.chun.time;

import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoField;
import java.time.temporal.Temporal;

import static java.time.temporal.ChronoField.DAY_OF_MONTH;
import static java.time.temporal.ChronoUnit.DAYS;

/**
 * 日期:年-月-日
 *
 * @author akaiqi
 * @date 2019/11/1 15:18
 */
public class LocalDateTest {


    /**
     * 通过静态工厂方法of创建一个LocalDate实例
     * 然后获取这个时间年,月,日,一年的第几天,星期几等
     */
    private static void test1() {
        LocalDate date = LocalDate.of(2019, 11, 1);
        System.out.println(date); //2019-11-01
        int year = date.getYear();
        Month month = date.getMonth();
        System.out.println(month); //NOVEMBER
        System.out.println(month.getValue());//11
        int day = date.getDayOfMonth();
        System.out.println(day);//1
        DayOfWeek dayOfWeek = date.getDayOfWeek();
        System.out.println(dayOfWeek);//FRIDAY
        int len = date.lengthOfMonth();
        System.out.println(len);//(这个月有)30
        boolean leap = date.isLeapYear();
        System.out.println(leap);//false(闰年?)
    }

    /**
     * 从系统时钟中获取当前的日期,
     * 使用TemporalField读取LocalDate的值,使用get()方法获取
     * TemporalField是一个最终的、不可变的、线程安全的枚举。
     */
    private static void test2() {
        LocalDate today = LocalDate.now();
        System.out.println(today);
        int year = today.get(ChronoField.YEAR);
        int month = today.get(ChronoField.MONTH_OF_YEAR);
        int day = today.get(ChronoField.DAY_OF_MONTH);
        System.out.println(year + "年");//2019年
        System.out.println(month + "月");//11月
        System.out.println(day + "日");//1日
    }

    /**
     * compareTo:将此日期与另一个日期进行比较。比较器值为负,如果较小,则如果较大则为正
     * 一般都是LocalDate 类型比较,如果一些被比较的日期是不同的年表,那么年龄也被考虑,见ChronoLocalDate.compareTo(java.time.chrono.ChronoLocalDate)
     * <p>
     * equals(Object obj):如果这等于其他日期,则为真 obj=null返回false.源码实现:同一对象返回true,是LocalDate实例,则分别按年-月-日取比较
     * hashCode:日期的哈希码,同一时间的哈希值一样
     */
    private static void test3() {
        LocalDate date1 = LocalDate.of(2019, 11, 1);
        LocalDate date2 = LocalDate.of(2019, 11, 2);
        LocalDate date3 = LocalDate.of(2020, 11, 1);
        LocalDate date4 = LocalDate.of(2019, 11, 1);
        System.out.println(date1.compareTo(date2));//-1
        System.out.println(date1.compareTo(date3));//-1
        System.out.println(date3.compareTo(date2));//1

        System.out.println(date1.equals(date4));//true
        System.out.println(date1.equals(date2));//false

        System.out.println(date1.hashCode());//4135617 同一时间的哈希值一样
        System.out.println(date4.hashCode());//4135617
    }

    /**
     * format(DateTimeFormatter formatter):日期格式化
     */
    private static void test4() {
        LocalDate date = LocalDate.of(2019, 11, 1);
        String dateStr1 = date.format(DateTimeFormatter.ofPattern("yyyy MM dd"));
        System.out.println(dateStr1); //2019 11 01
        String dateStr2 = date.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));
        System.out.println(dateStr2);//2019年11月01日
        String dateStr3 = date.format(DateTimeFormatter.ofPattern("yyyy年MM月"));
        System.out.println(dateStr3);//2019年11月
    }

    /**
     * lengthOfMonth:这个月有多少天
     * lengthOfYear:今年有多少天
     */
    private static void test5() {
        LocalDate date = LocalDate.of(2019, 11, 1);
        System.out.println(date.lengthOfMonth());//30
        System.out.println(date.lengthOfYear());//365
    }

    /**
     * minusMonths(long monthsToSubtract):减去monthsToSubtract个月后的日期
     * minusDays(long daysToSubtract):减去daysToSubtract日后的日期
     * minusMonths(long monthsToSubtract) :返回此 LocalDate一个副本,其中指定的周期以周为单位减去
     * minusYears(long yearsToSubtract) :返回此 LocalDate的副本,以减去的年份为单位
     * <p>
     * minus(long amountToSubtract, TemporalUnit unit) :返回此日期的副本,减去指定的单位。unit时间单位
     */
    private static void test6() {
        LocalDate date = LocalDate.of(2019, 11, 1);
        System.out.println(date.minusMonths(1));//2019-10-01
        System.out.println(date.minusDays(1));//2019-10-31
        System.out.println(date.minusWeeks(1));//2019-10-25
        System.out.println(date.minusYears(1));//2018-11-01

        System.out.println(date.minus(1, DAYS));//2019-10-31
        //同理,还有其他单位,常用:HOURS ,MINUTES ,SECONDS ,WEEKS MONTHS YEARS
    }

    /**
     * plus(long amountToAdd, TemporalUnit unit) :返回此日期的副本,并添加指定的时间单位
     * plusDays(long daysToAdd) :日增加
     * plusMonths(long monthsToAdd):月增加
     * plusWeeks(long weeksToAdd):星期增加
     * plusYears(long yearsToAdd):年增加
     */
    private static void test7() {
        LocalDate date = LocalDate.of(2019, 11, 1);
        System.out.println(date.plus(1, DAYS));//2019-11-02
        //同理,还有其他单位,常用:HOURS ,MINUTES ,SECONDS ,WEEKS MONTHS YEARS,
    }

    /**
     * query(TemporalQuery<R> query):获取某个字段的范围
     * range(TemporalField field)
     * <p>
     * toEpochDay():将此日期转换为大纪元日。
     * <p>
     * toString():输入日期(字符串类型)
     */
    private static void test8() {
        LocalDate date = LocalDate.of(2019, 11, 1);
        System.out.println(date.range(ChronoField.DAY_OF_MONTH));//这个月的范围:1 - 30

        System.out.println(date.toEpochDay()); //18201
    }

    /**
     * until:计算两个LocalDate对象之间的时间量,单个TemporalUnit
     * <p>
     * until(Temporal endExclusive,TemporalUnit unit):两个日期之间的相差多少,可转换单位:DAYS,MONTHS(TemporalUnit)等
     * 等价于TemporalUnit.between(Temporal, Temporal)
     */
    private static void test9() {
        LocalDate date1 = LocalDate.of(2019, 11, 1);
        LocalDate date2 = LocalDate.of(2019, 12, 1);
        System.out.println(date1.until(date2));//P1M
        System.out.println(date1.until(date2, DAYS));//30
        //方法二
        System.out.println(DAYS.between(date1, date2));//30
    }

    /**
     * with(TemporalField field,long newValue):按指定单位修改日期
     * <p>
     * withYear(int year):修改年份
     * withMonth(int month):修改月份
     * withDayOfMonth(int dayOfMonth):修改日
     * <p>
     * withDayOfYear
     */
    private static void test10() {
        LocalDate date = LocalDate.of(2019, 11, 1);
        LocalDate date2 = date.with(DAY_OF_MONTH, 2);//2019-11-02  年月不变,修改日期
        System.out.println(date2);

        LocalDate date3 = date.withYear(2020);
        System.out.println(date3);//2020-11-01

        LocalDate date4 = date.withMonth(12);
        System.out.println(date4);//2019-12-01

        LocalDate date5 = date.withDayOfMonth(30);
        System.out.println(date5);//2019-11-30
    }


    /**
     * adjustInto:调整指定的时间对象与此对象的日期相同。
     * 等价于使用Temporal.with(TemporalField, long)通过ChronoField.EPOCH_DAY作为字段
     */
    private static void test11() {
        LocalDate date1 = LocalDate.of(2019, 11, 1);
        LocalDate date2 = LocalDate.of(2020, 1, 1);
        Temporal temporal = date1.adjustInto(date2);
        System.out.println(temporal);//2019-11-01
        System.out.println(temporal.with(date2));//2020-01-01

    }

    /**
     * 获取LocalDateTime:年与日时分秒
     * atStartOfDay():在此日期开始之前的午夜00:00时时间
     * atTime(int hour, int minute, int second):结合此日期与时间创建一个 LocalDateTime 。
     * atTime(int hour, int minute)
     * atTime(int hour, int minute, int second, int nanoOfSecond)
     * atTime(LocalTime time) :LocalTime时分秒
     */
    private static void test12() {
        LocalDate date = LocalDate.of(2019, 11, 1);
        System.out.println(date.atStartOfDay());//2019-11-01T00:00
        LocalDateTime time = date.atTime(12, 0, 0);
        System.out.println(time);//2019-11-01T12:00

        LocalTime localTime = LocalTime.of(1, 1, 1);
        System.out.println(localTime);//01:01:01
        LocalDateTime localDateTime = date.atTime(localTime);
        System.out.println(localDateTime);//2019-11-01T01:01:01
    }


    public static void main(String[] args) {
        test12();
    }
}

【java8中的时间操作】java8中获取月的最后一天或者总天数,JDK8 LocalDate API 缘起 前面有个需求,获取当前月和前5个月的最后一天,网上找了一下基本都是jdk7以前的,但实际上jdk8中有更简单的获取方式。 public static void main(String[] args) { for (int i = 0;i&amp;lt;6;i++){ LocalDate today = LocalDate.now().minusMonths(i); ... 阅读详情

相关推荐

高项49个过程,输入、工具技术、输出的思维导图

为了制定项目章程的管理方法主要是采用了数据收集技术,例如通过头脑风暴,通过召集主题专家和团队成员收集信息、解决方案,并在短时间内获得大量创意,并对大量创意进行分析和排序,选出最优化最适合本项目方案,并对项目成员的不同差异观点,进行了引导和对冲突的管理,最终有助于项目干系人的目标、成功标准的内容达成一致意见,形成完善的项目章程。在本过程中得到项目章程,在制定项目章程中需要包括信息有:项目名称、项目目标、项目总里程碑进度表、项目经理、主要干系人及财务预算信息。本过程在仅开展一次,或仅在项目的预定义点开展。

Legend_Jiang的博客 6177

LocalDate详解API

在中引入的表示一个格式为的日期,如。它不存储时间或时区。是一个不可变的类,它是对日期的描述,如生日。是一个基于值的类,要比较的两个实例,我们应该使用它的 方法。我们可以从中获取许多其他的日期字段,如年日()、周日()、月日()等等。的格式可以通过的格式方法来改变。现在的方法有:、、、、、、、等。例如,获取当前日期。输出是。现在改变格式。 输出是 。在中,被添加了更多的方法,如、、。在这一页,我们将讨论和它的方法,并举例说明。以年月日的格式输出,即。我们可以使用的下列静态方法来初始化。1. now(): 给出

皮球 5597

UE5游戏逆向实战:用FModel提取.pak文件中的3D模型(附Dumper-7避坑指南)

本文详细介绍了如何使用FModel工具从UE5游戏的.pak文件中提取3D模型,并提供了Dumper-7的避坑指南。内容涵盖FModel工具链配置、UE5特有的unversioned properties问题解决方案、Dumper-7实战流程以及模型后处理技巧,帮助开发者高效获取游戏资产。

weixin_30872499的博客 422

LocalDate和LocalDateTime常用API总结

前言 提示:都是以当前时间为例,如需其他时间,指定日期即可 一、LocalDate 1.获取当前时间 LocalDate today = LocalDate.now(); 2.获取当前月份 LocalDate today = LocalDate.now(); int month = today.getMonthValue(); 3.获取当前日期 LocalDate today = LocalDate.now(); int day = today.getDayOfMonth(); 4.获取指定日期 L

qq_38370965的博客 2088

CANopen PDO 配置實戰:3步完成0x1800-0x1A00物件字典映射與事件觸發

本文详细解析CANopen PDO配置实战,通过3个关键步骤完成0x1800-0x1A00对象字典映射与事件触发设置。重点介绍COB-ID位域解析、映射参数配置及事件触发优化,帮助工程师实现工业自动化设备间毫秒级实时数据交换,提升系统通信效率。

weixin_33709609的博客 379

NVIDIA GPU任务调度全景:从Block分配到Warp发射

GPU并行计算的核心是任务调度,而CUDA kernel在GPU上的执行并非简单的一次性操作,而是经过从CPU命令队列到硬件前端,再到GigaThread引擎和Warp Scheduler的多层协同。理解这一过程,是性能优化的基础。Warp作为硬件调度的基本单位,其状态切换与延迟隐藏能力直接决定计算单元的利用率;而Occupancy作为衡量SM上活跃Warp池大小的指标,也并非越高越好,需要结合访存模式与资源占用综合判断。对于多任务并发场景,Stream优先级、计算抢占、MIG硬件隔离与MPS软件共享等机制

weixin_32612263的博客 267

Java8 LocalDate常用API

LocalDate使用笔记 //获取当前日期 LocalDate.now(); //获取当前时间 LocalTime.now(); //获取当前日期+时间 LocalDateTime.now(); //构造日期 LocalDate.of(2020,06,05); //构造日期 LocalDate.parse("2020-06-05"); //本月第一天

好好学习,不断总结 1888

[特殊字符]交通标志检测与分类数据集-智能驾驶系统 地图数据更新 1,886张图片

🚦交通标志检测与分类数据集-智能驾驶系统 地图数据更新 1,886张图片

cver123的博客 2071

详细介绍java8利用新接口LocalDate,LocalTime, LocalDateTime方便快捷处理日期

Java 8新增了LocalDate和LocalTime接口,自然而然就抛弃了 Date 类,原因肯定就是因为 Date 不好用.而simpledateformat方法中format和parse方法都是线程不安全的。Java1.8之后出现了localdate,localdatetime,localtime这些类,而这些类使用了final来修饰,使得这些类是不可变的,一旦实例化,值就固定了,有点类似于String类,所以这些类都是线程安全的。

红烧柯基的博客 1029

视频预处理--经典方法卷积3D

在三维卷积操作中,卷积核不仅在空间维度上滑动,还在时间维度上滑动,从而同时捕捉时间和空间上的特征。通过合理设置步长和填充,可以灵活控制输出特征图的大小和特征提取的效果。你的理解非常准确:三维卷积核就像是一个长度为 3 的滑动窗口,每次选取 3 个连续的帧进行卷积操作,而步长和填充则进一步优化了这一过程。

m0_73359068的博客 1649

【推荐100个unity插件】制作美丽 Unity 景观,增强Terrain材质表现的插件——GTS

GTS地形着色器是一款专为Unity设计的强大工具,可解决地形纹理绘制和光照处理的难题。它提供一键式配置,支持实时调整地形效果,包含细节注入、高度混合、雪注入等核心功能,并兼容网格地形和低多边形模型。插件完美集成Gaia天气系统,支持HDRP细分效果。安装后通过GTS管理器创建配置文件并应用到地形,即可快速生成高质量地形渲染。其模块化设计包含全局设置、网格转换和细节调整等面板,使开发者能灵活控制地形表现,显著提升视觉效果与性能表现。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1564

API(4)-jdk新增的时间- LocalDate、LocalTime、LocalDateTime

可以处理年、月、日、星期、时、分、秒、纳秒等信息。都是处理年、月、日、星期相关的。都是处理时、分、秒、纳秒相关的。

qq_64391254的博客 614

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

java8 localdate格式_【JDK8】Java8 LocalDate操作时间和日期的API

时间项目中的涉及到的时间处理非常多,犹豫SimpleDateFormat的不安全性以及Calendar等类在计算时比较复杂,往往我们都会使用工具类来封装较多的日期处理函数,但是JDK8中新增了操作和日期和时间API,添加了很多常见的api,例如日期/时间比较,加减,格式化等等 方便我们操作时间和日期;包所在的位置:java.time以下是常用的API1.LocalDate:日期2.LocalTim...

weixin_39571404的博客 536

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

java8 本月最后一天_【java8中的时间操作】java8中获取月的最后一天或者总天数,JDK8 LocalDate API...

缘起前面有个需求,获取当前月和前5个月的最后一天,网上找了一下基本都是jdk7以前的,但实际上jdk8中有更简单的获取方式。public static void main(String[] args) {for (int i = 0;i<6;i++){LocalDate today = LocalDate.now().minusMonths(i);//本月的第一天LocalDate firs...

weixin_32889145的博客 2161

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

LocalDate或LocalDateTime格式的日期相关操作api

LocalDate或LocalDateTime格式的日期相关操作api

跨越时空的记忆 506

使用LocalDate实现对时间的简单操作

jdk8之前,java中做时间处理时一般会采用java.util.Date,大多吐槽Date的是其对于月份的处理是从0开始的,取得正确月份还得往后偏移一位。Date内容很丰富,不但包含年月日,还包含时间。jdk8之后,我们有更好的选择 – java.time.LocalDate。 这是jdk8中新增的日期处理类,同时新增的还有java.time.LocalTime、java.time.LocalDateTime等。 相比Date来说,LoalDate更安全、更精确也更明确。LocalDate不包含时间,只是

luckyZQC的博客 4166

Date与LocalDate区别以及都需要注意些啥

【代码】Date与LocalDate区别以及都需要注意些啥。

u014642921的博客 521

Java LocalDate的使用

一、API文档: https://docs.oracle.com/javase/8/docs/api/java/time/LocalDate.html 二、常用方法 1.核心基准方法 //引入包 import java.time.LocalDate; //获取当前日期--yyyy-mm-dd LocalDate today = LocalDate.now() 2.常用方法 // 获...

Ai_Ting_Java的博客 1476

JDK8 LocalDate、LocalDateTime的用法

JDK8 LocalDate、LocalDateTime的用法 LocalDate now = LocalDate.now(); //当前时间 int day = now.getDayOfYear(); //当前时间在所在年份的第几天 DayOfWeek week = now.getDayOfWeek(); //当前时间是星期几(英文显示) int getDayOfMonth = now.getDayOfMonth(); //当前日期是当月的第几天 Month getMonth = now.getM.

璎珞的博客 647

LocalDate、LocalTime和LocalDateTime用法

一.LocalDate用法 1.1.获取当前时间,最大时间,最小时间 /** * 获取当前时间,最大时间,最小时间 */ @Test public void demo01() { LocalDate now = LocalDate.now(); LocalDate max = LocalDate.MAX; LocalDate min = LocalDate.MIN; log.info("当前时间:" + now);

ArnoBM的博客 3328

Java API之LocalDate和LocalTime

今天刷题的时候突然发现一个宝藏API,我称它为“时间管理者”,当当当,他们就是LocalDate和LocalTime!!!这个自jdk 1.8才诞生的API不所谓是不强大,对于时间的很多操作他们都支持,加时间吗,减时间,生成时间,输出当前日期和时间,等等等…下面就让我们来测试一下他们的一些主要的方法吧! 测试(用法见注释) public static void main(String[] args) { System.out.println("====LocalDate测试====");

Go Tum's Bolg 235

使用LocalDate,LocalTime和LocalDateTime

Java 8对日期和时间API进行了重大更改,这是在JSR 310:日期和时间API的 JDK中包括了Joda Time API 。 此JSR由Joda Time的创建者Stephen Colebourne领导。 有许多惊人的API可用于日期和时间。 在本文中,我将介绍最常用的: java.time.LocalDate , java.time.LocalTime和java.time.Lo...

最佳 Java 编程 1089

Java 8+时间处理:LocalDateTime、LocalDate、LocalTime 深度解析

在 Java 8 之前,时间和日期的处理主要依赖于和。DateCalendarDateCalendar为了解决这些问题,Java 8 引入了新的时间日期 API(java.time包),该包采用了更现代的设计并且线程安全。LocalDate和LocalTime,并结合具体实例说明它们的使用方法和最佳实践。

WenZhang的博客 5658

9.Java基础-LocalDate类简介

文章目录一些注意点 一些注意点 为了将保存时间与时间点命名区分开,Java类库设计了两个类,分别为表示时间点的Date类,日历表示法的LocalDate类 4.总结LocalDate–API 8.0 static LocalTime now(); //构造一个表示当前日期的对象 static LocalTime of(int year,int month,int day) //构造一个给定日期的对象 int getYear() int getMonthOfValue() int get DayOf

rzg的博客 475

Java8 Date API 详解 - LocalDate,LocalDateTime,Instant

转载来源:https://www.journaldev.com/2800/java-8-date-localdate-localdatetime-instant   Java8 Date API 详解 - LocalDate,LocalDateTime,Instant   Java 8 Date Time API是开发人员最热门的变更之一。Java从一开始就缺少日期和时间的一致方法,Jav...

YunWisdom 6768
上一篇: mybatis查询结果返回为空(NULL)但是查数据库能查到
下一篇: Java8的Date和LocalDateTime互相转换
_睶_
博客等级 码龄10年 1685粉丝 204原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值