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();
}
}
相关推荐
高项49个过程,输入、工具技术、输出的思维导图
为了制定项目章程的管理方法主要是采用了数据收集技术,例如通过头脑风暴,通过召集主题专家和团队成员收集信息、解决方案,并在短时间内获得大量创意,并对大量创意进行分析和排序,选出最优化最适合本项目方案,并对项目成员的不同差异观点,进行了引导和对冲突的管理,最终有助于项目干系人的目标、成功标准的内容达成一致意见,形成完善的项目章程。在本过程中得到项目章程,在制定项目章程中需要包括信息有:项目名称、项目目标、项目总里程碑进度表、项目经理、主要干系人及财务预算信息。本过程在仅开展一次,或仅在项目的预定义点开展。
LocalDate详解API
在中引入的表示一个格式为的日期,如。它不存储时间或时区。是一个不可变的类,它是对日期的描述,如生日。是一个基于值的类,要比较的两个实例,我们应该使用它的 方法。我们可以从中获取许多其他的日期字段,如年日()、周日()、月日()等等。的格式可以通过的格式方法来改变。现在的方法有:、、、、、、、等。例如,获取当前日期。输出是。现在改变格式。 输出是 。在中,被添加了更多的方法,如、、。在这一页,我们将讨论和它的方法,并举例说明。以年月日的格式输出,即。我们可以使用的下列静态方法来初始化。1. now(): 给出
UE5游戏逆向实战:用FModel提取.pak文件中的3D模型(附Dumper-7避坑指南)
本文详细介绍了如何使用FModel工具从UE5游戏的.pak文件中提取3D模型,并提供了Dumper-7的避坑指南。内容涵盖FModel工具链配置、UE5特有的unversioned properties问题解决方案、Dumper-7实战流程以及模型后处理技巧,帮助开发者高效获取游戏资产。
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
CANopen PDO 配置實戰:3步完成0x1800-0x1A00物件字典映射與事件觸發
本文详细解析CANopen PDO配置实战,通过3个关键步骤完成0x1800-0x1A00对象字典映射与事件触发设置。重点介绍COB-ID位域解析、映射参数配置及事件触发优化,帮助工程师实现工业自动化设备间毫秒级实时数据交换,提升系统通信效率。
NVIDIA GPU任务调度全景:从Block分配到Warp发射
GPU并行计算的核心是任务调度,而CUDA kernel在GPU上的执行并非简单的一次性操作,而是经过从CPU命令队列到硬件前端,再到GigaThread引擎和Warp Scheduler的多层协同。理解这一过程,是性能优化的基础。Warp作为硬件调度的基本单位,其状态切换与延迟隐藏能力直接决定计算单元的利用率;而Occupancy作为衡量SM上活跃Warp池大小的指标,也并非越高越好,需要结合访存模式与资源占用综合判断。对于多任务并发场景,Stream优先级、计算抢占、MIG硬件隔离与MPS软件共享等机制
Java8 LocalDate常用API
LocalDate使用笔记 //获取当前日期 LocalDate.now(); //获取当前时间 LocalTime.now(); //获取当前日期+时间 LocalDateTime.now(); //构造日期 LocalDate.of(2020,06,05); //构造日期 LocalDate.parse("2020-06-05"); //本月第一天
[特殊字符]交通标志检测与分类数据集-智能驾驶系统 地图数据更新 1,886张图片
🚦交通标志检测与分类数据集-智能驾驶系统 地图数据更新 1,886张图片
详细介绍java8利用新接口LocalDate,LocalTime, LocalDateTime方便快捷处理日期
Java 8新增了LocalDate和LocalTime接口,自然而然就抛弃了 Date 类,原因肯定就是因为 Date 不好用.而simpledateformat方法中format和parse方法都是线程不安全的。Java1.8之后出现了localdate,localdatetime,localtime这些类,而这些类使用了final来修饰,使得这些类是不可变的,一旦实例化,值就固定了,有点类似于String类,所以这些类都是线程安全的。
视频预处理--经典方法卷积3D
在三维卷积操作中,卷积核不仅在空间维度上滑动,还在时间维度上滑动,从而同时捕捉时间和空间上的特征。通过合理设置步长和填充,可以灵活控制输出特征图的大小和特征提取的效果。你的理解非常准确:三维卷积核就像是一个长度为 3 的滑动窗口,每次选取 3 个连续的帧进行卷积操作,而步长和填充则进一步优化了这一过程。
【推荐100个unity插件】制作美丽 Unity 景观,增强Terrain材质表现的插件——GTS
GTS地形着色器是一款专为Unity设计的强大工具,可解决地形纹理绘制和光照处理的难题。它提供一键式配置,支持实时调整地形效果,包含细节注入、高度混合、雪注入等核心功能,并兼容网格地形和低多边形模型。插件完美集成Gaia天气系统,支持HDRP细分效果。安装后通过GTS管理器创建配置文件并应用到地形,即可快速生成高质量地形渲染。其模块化设计包含全局设置、网格转换和细节调整等面板,使开发者能灵活控制地形表现,显著提升视觉效果与性能表现。
API(4)-jdk新增的时间- LocalDate、LocalTime、LocalDateTime
可以处理年、月、日、星期、时、分、秒、纳秒等信息。都是处理年、月、日、星期相关的。都是处理时、分、秒、纳秒相关的。
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
java8 localdate格式_【JDK8】Java8 LocalDate操作时间和日期的API
时间项目中的涉及到的时间处理非常多,犹豫SimpleDateFormat的不安全性以及Calendar等类在计算时比较复杂,往往我们都会使用工具类来封装较多的日期处理函数,但是JDK8中新增了操作和日期和时间API,添加了很多常见的api,例如日期/时间比较,加减,格式化等等 方便我们操作时间和日期;包所在的位置:java.time以下是常用的API1.LocalDate:日期2.LocalTim...
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...
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
LocalDate或LocalDateTime格式的日期相关操作api
LocalDate或LocalDateTime格式的日期相关操作api
使用LocalDate实现对时间的简单操作
jdk8之前,java中做时间处理时一般会采用java.util.Date,大多吐槽Date的是其对于月份的处理是从0开始的,取得正确月份还得往后偏移一位。Date内容很丰富,不但包含年月日,还包含时间。jdk8之后,我们有更好的选择 – java.time.LocalDate。 这是jdk8中新增的日期处理类,同时新增的还有java.time.LocalTime、java.time.LocalDateTime等。 相比Date来说,LoalDate更安全、更精确也更明确。LocalDate不包含时间,只是
Date与LocalDate区别以及都需要注意些啥
【代码】Date与LocalDate区别以及都需要注意些啥。
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.常用方法 // 获...
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.
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);
Java API之LocalDate和LocalTime
今天刷题的时候突然发现一个宝藏API,我称它为“时间管理者”,当当当,他们就是LocalDate和LocalTime!!!这个自jdk 1.8才诞生的API不所谓是不强大,对于时间的很多操作他们都支持,加时间吗,减时间,生成时间,输出当前日期和时间,等等等…下面就让我们来测试一下他们的一些主要的方法吧! 测试(用法见注释) public static void main(String[] args) { System.out.println("====LocalDate测试====");
使用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 8+时间处理:LocalDateTime、LocalDate、LocalTime 深度解析
在 Java 8 之前,时间和日期的处理主要依赖于和。DateCalendarDateCalendar为了解决这些问题,Java 8 引入了新的时间日期 API(java.time包),该包采用了更现代的设计并且线程安全。LocalDate和LocalTime,并结合具体实例说明它们的使用方法和最佳实践。
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
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...
6177



被折叠的 条评论
为什么被折叠?



