首页
学习
活动
专区
圈层
工具
发布

【JavaSE学习】 Day9 JavaSE常用类 万字文章拿捏JavaSE常用类

StringBuffer与StringBuilder的内存解析 StringBuffer、StringBuilder中的常用方法 三、JDK8中新日期时间API java 8 中新的日期时间API涉及到的包...常用方法 带时区的日期时间:ZonedDateTime / ZoneId  ZonedDateTime:带时区的日期时间 时间间隔:Duration--用于计算两个“时间”间隔,以秒和纳秒为基准 日期间隔...boolean endsWith(String suffix):测试此字符串是否以指定的后缀结束 boolean startsWith(String prefix):测试此字符串是否以指定的前缀开始 boolean...startsWith(String prefix, int toffset):测试此字符串从指定索引开始的子字符串是否以指定前缀开始 boolean contains(CharSequence s):...其方法的参数和返回值类型一般为double型。 BigInteger类、BigDecimal类 ① java.math包的BigInteger可以表示不可变的任意精度的整数。

48010

LocalDateTime、OffsetDateTime、ZonedDateTime互转,这一篇绝对喂饱你

ISO-8601日历系统中不带时区的日期时间。...还可以访问其他日期和时间字段,如day-of-year、day-of-week和week-of-year等等,它的精度能达纳秒级别。...OffsetDateTime、ZonedDateTime和Instant它们三都能在时间线上以纳秒精度存储一个瞬间(请注意:LocalDateTime是不行的),也可理解我某个时刻。...ISO-8601国际标准日历系统中带有时区的日期时间。它存储所有的日期和时间字段,精度为纳秒,以及一个时区,带有用于处理不明确的本地日期时间的时区偏移量。...New_York] 本例有值得关注的点: atZoneSameInstant():将此日期时间与时区结合起来创建ZonedDateTime,以确保结果具有相同的Instant 所有偏移量-4 -> -

1.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    LocalDateTime、OffsetDateTime、ZonedDateTime互转,这一篇绝对喂饱你

    还可以访问其他日期和时间字段,如day-of-year、day-of-week和week-of-year等等,它的精度能达纳秒级别。...[20210117185734983.png#pic_center] OffsetDateTime、ZonedDateTime和Instant它们三都能在时间线上以纳秒精度存储一个瞬间(请注意:LocalDateTime...它存储所有的日期和时间字段,精度为纳秒,以及一个时区,带有用于处理不明确的本地日期时间的时区偏移量。...New_York] 本例有值得关注的点: atZoneSameInstant():将此日期时间与时区结合起来创建ZonedDateTime,以确保结果具有相同的Instant 所有偏移量-4 -> -5...,时间点也从19 -> 18,确保了Instant保持一致嘛 atZoneSimilarLocal:将此日期时间与时区结合起来创建ZonedDateTime,以确保结果具有相同的本地时间 所以直接效果和

    4.5K50

    拥抱Java8日期时间类LocalDate、LocalDateTime详解

    这些类甚至可以用于表示具有一致时区的分布式系统上的时间。 常用 API now() 获取在默认的时区系统时钟内的当前日期。该方法将查询默认时区内的系统时钟,以获取当前日期。...使用该方法将防止使用测试用的备用时钟,因为时钟是硬编码的。 方便的加减年月日,而不必亲自计算! plusMonths 返回此副本LocalDate添加了几个月的指定数目。...并非返回一个无效结果,而是 2007-04-30才是最后有效日期。调用实例的不可变性不会被该方法影响。...最佳实践:若要表示日期和时间而不依赖特定服务器的上下文,则应使用ZonedDateTime。...这对于将数据序列化到数据库中很有用,如果服务器在不同时区,则还应该用作记录时间戳的序列化格式。

    2K30

    全网最权威Java8日期时间类LocalDate、LocalDateTime详解

    常用 API now() 获取在默认的时区系统时钟内的当前日期。该方法将查询默认时区内的系统时钟,以获取当前日期。 使用该方法将防止使用测试用的备用时钟,因为时钟是硬编码的。 ?...并非返回一个无效结果,而是 2007-04-30才是最后有效日期。调用实例的不可变性不会被该方法影响。 ? 4 创建对象 工厂方法 新API中的所有核心类都是通过熟练的工厂方法构造。...最佳实践:若要表示日期和时间而不依赖特定服务器的上下文,则应使用ZonedDateTime。...这对于将数据序列化到数据库中很有用,如果服务器在不同时区,则还应该用作记录时间戳的序列化格式。...该YearMonth类涵盖了信用卡开始日期和到期日期的用例以及人们没有指定日期的场景。 Java SE 8中的JDBC将支持这些新类型,但不会更改公共JDBC API。

    1.8K10

    解锁 Java 日期时间转换的正确姿势

    在处理遗留系统时,软件测试工程师常常需要在 java.sql.Timestamp 和 java.time.ZonedDateTime 之间进行日期时间的相互转换。...这两者在设计理念上存在明显差异:Timestamp 偏向于面向数据库的存储精度,而 ZonedDateTime 更强调语义清晰和时区敏感。...这种转换方式结构清晰、实现简洁,特别适合在自动化测试中快速验证时间转换的正确性。例如,在测试 API 返回时间字段是否符合时区规范时,可以通过这种方式构造预期时间,提升测试脚本的可读性与准确性。...ZonedDateTime 转换为 Timestamp,以适配数据库写入操作或与遗留系统接口的数据交互。...在故障测试中,这种转换方式可以用于模拟时间戳在不同系统之间的传递过程,以验证在系统崩溃、重启或网络延迟等异常场景下,时间数据是否依然保持一致。

    42500

    Java time 包介绍

    ,而且也没有办法阻止其他的线程修改日期。...Instant Instant 类是时间戳,代表 UTC 时区从 1970年1月1日0点0分0秒到当前时刻所经过的时间(精度可到纳秒)。Instant 与时区无关,它的计时是以 UTC 时区为准的。...ZonedDateTime zonedDateTime = instant1.atZone(ZoneId.systemDefault());, time 包中的各个时间类都可以相互转换,因为它们表示的只是时间的某一方面...日期类 日期类指的是年月日,而不带时分秒的类,这些相关的类与时区无关,表达的是一个日常的时间概念。...,与时区无关,虽然上面的类的of 有一个需要时区参数的初始化函数,但是只用于获取当地时区时间,在初始化完成之后,Local 类中并没有保存时区信息,要显式表示时区,就需要使用下面的 ZonedDateTime

    2.3K20

    高效 Java 人必须知道的十大框架

    下面,就让我来介绍一些可以用来解决常见开发问题的热门 Java 库吧。 01. JUnit JUnit 起源于 xUnit 家族的单元测试框架,目前可以说是最知名及常用的测试框架。...通过 JUnit,可以轻松地写出可重复测试的代码。早期版本的 JUnit 属于 junit.framework 包;而从 JUnit 4 开始,便转移到了 org.junit 包。...Junit 允许多个测试一个接一个,或是并发同时执行,并且会实时返回测试结果,而且还带有进度条,提示开发者测试进度如何。一般当测试正常进行时,进度条是绿的;而当遇到了错误,就会变红。...XStream 当涉及将对象序列化到 XML 中时,XStream 库是开发人员值得信赖的选择。 该库允许开发人员轻松地将对象序列化为 XML 并返回。...Gson Gson 是 Google 的另一个库,它轻而易举的将 Java Objects 转换成等效的 JSON 表示形式。

    1.1K20

    Java SE8 日期和时间API

    例如:LocalDate.of(1900, 1, 1).getDayOfWeek().getValue()返回1. DayOfWeek枚举具有便捷方法plus和minus,以7为模型计算星期日期。...(weekday) 从给定的日期开始的下一个或上一个给定的星期日期 dayOfWeekInMonth(n, weekday) 月份中的n个weekday lastInMonth(weekday) 月份中的最后一个...,withZoneSameLocal 返回一个给定时区的新的ZonedDateTime,要么表示同一时刻,要么表示同一本地时间 getDayOfMonth 获取月的日期 getDayOfYear 获取年的日期...("E yyyy-MM-dd HH:mm"); 会将日期格式化为Wed 1969-07-16 09:32形式。...toZonedDateTime方法可以将GregorianCalendar转换为ZonedDateTime,而静态的from方法可以执行反方向的转换。 还有一类java.sql包中的日期和时间类。

    1.9K30

    JSR310新日期API(五)-在主流框架中使用新日期时间类

    前提 前面的几篇文章已经基本介绍完了JSR-310日期时间类库的基本使用,这篇文章主要介绍在主流的框架中如何使用这些类库。因为涉及到数据库操作,先准备好一张表和对应的实体。...> 3.2.0 JDBC中使用JSR-310日期时间类库 说实话,由于JDBC类库在方法参数或者返回值类型很久没更新,对于带日期时间的属性...JavaTimeModule模块,JavaTimeModule模块中已经存在了不少默认的日期时间类的序列化和反序列化器,必要时可以像上面的例子一样重写对应的日期时间类型的序列化和反序列化器并且覆盖已经配置的默认实现...,可以尝试继承JSR310FormattedSerializerBase或者JSR310DateTimeDeserializerBase实现自定义序列化或反序列化器,从更底层控制日期时间类的序列化和反序列化...类型的Bean对JSR-310日期时间类型的序列化和反序列化生效即可,因为默认配置的MappingJackson2HttpMessageConverterHTTP消息转换器就是使用内置的ObjectMapper

    2.7K30

    【小家java】java8新特性之---全新的日期、时间API(JSR 310规范),附SpringMVC、Mybatis中使用JSR310的正确姿势

    Java8中日期、时间类的概述 Java8时间API最重要的几个类: ?...●ZonedDateTime——这是一个包含时区的完整的日期时间还有时区,偏移量是以UTC/格林威治时间为基准的。 ●Timezones——时区。在新API中时区使用ZoneId来表示。...Java8日期、时间API特点和使用的设计模式 不变性:新的日期/时间API中,所有的类都是不可变的,这对多线程环境有好处。...所以希望读者能够大概掌握 Java中处理日期、时间的经典案例场景 检查两个日期是否相等 LocalDate重写了equals方法来进行日期的比较,如下所示: ?...对于时间类型的默认的序列化(序列化表示把对象对外输出,如SpringMVC的返回值就需要经过这个过程): Date类型按照GMT标准时间 成时间戳 Timestamp类型按照GMT标准时间 成时间戳 LocalDate

    5.6K30

    Java高效开发12个精品库

    JUnit 第一个要说的当然是JUnit了,JUnit毕竟是Java圈目前最知名及常用的测试框架。JUnit之所以能够成为Java圈中最热门的测试库,是因为对于很多项目而言,单元测试是非常重要的。...XStream 当涉及将对象序列化到XML中时,这时常用XStream库, 开发人员通过XStream库可以轻松地将对象序列化为XML并返回。...它允许解析来自任何URL或文件的HTML,清理和操纵HTML元素和属性,以检索用户提交的数据并过滤掉XSS攻击属性,使用jsoup还可以完成更多功能。 09....Gson Gson是Google的另一个库,它轻而易举的将Java Objects转换成等效的JSON表示形式。 ? 它为Java泛型提供了极大的支持,并允许对象的自定义表示。 10....Joda Time提供计算日期和时间的功能,并支持几乎所有需要的日期格式,而且肯定难以用简单的JDK方法进行复制 11. Ok HTTP 用于通过HTTP协议有效地在现代应用程序之间交换数据。

    1.7K40

    JSR310新日期API(二)-日期时间API

    zone) 获得一个始终返回同一时刻的时钟,使用指定时区ID进行时间转换[FixedClock] offset​(Clock baseClock, Duration offsetDuration) 返回一个以基础时钟和固定时间偏移量为构造的时钟...FixedClock:总是返回相同的瞬时时间,可以认为是一个固定时刻的时钟,通常使用于测试。...LocalDate是一个不可变的日期对象,也就是只能表示日期,通常的表示格式为年-月-日,同时提供其他日期字段的访问,例如一年中的第几日(day-of-year)、星期几(day-of-week)和一年中的第几周...java.time.ZonedDateTime应该是JSR-310中最复杂但是最全面的日期时间类(它的API文档中注释也是最多的,从这点也可以看出它的复杂性)。...zonedDateTime = ZonedDateTime.ofInstant(instant, zoneId); } } 其实很好理解,即使在旧的Java日期时间API中,长整型的时间戳毫秒也可以通过各种日期时间类的构造或者静态工厂方法创建对应的实例

    2.7K30

    Java中Date与LocalDateTime的使用区别

    在 Java 中,java.util.Date 和 java.time.LocalDateTime 是用于处理日期和时间的两种不同的类,它们的区别主要在于设计理念、功能特性以及适用场景。...不可变性(线程安全):所有修改操作返回新对象。 清晰的 API 设计:月份从 1 到 12,日期时间处理直观。 与时区无关,适合表示本地时间(如会议时间、设备日志时间)。...关键区别 特性 Date LocalDateTime 时区 隐含时区(依赖系统默认时区) 无时区(纯本地时间) 可变性 可变(非线程安全) 不可变(线程安全) 设计 过时、易出错 现代、直观、类型安全 精度...使用 LocalDateTime 的场景 处理本地日期时间:表示没有时区信息的日期时间(如生日、会议时间、设备记录的本地时间)。...最佳实践 新项目优先使用 java.time:Java 8+ 的项目应尽量使用 java.time 包中的类(LocalDateTime、ZonedDateTime、Instant 等)。

    59810

    JSON跨语言陷阱:为何“通用格式”并不真正通用

    二、数字精度危机:当数字不再准确2.1 JavaScript的数字表示问题JavaScript使用IEEE 754双精度浮点数表示所有数字,这导致了大整数精度丢失的问题:// 安全整数范围内的操作console.log...const parsed = JSON.parse(jsonString);// 原对象中undefinedProp属性已被序列化移除,因此解析后访问该属性返回undefinedconsole.log(...从数字精度、字符编码、键序一致性,到空值处理和日期表示,JSON在不同语言和环境中的实现存在显著差异。...阅读本文,你将得到收获:数字精度危机:JavaScript的Number类型基于IEEE 754双精度浮点数,无法安全表示大于2^53的整数。解决方案包括使用字符串表示大数字或BigInt类型。...Unicode陷阱:视觉相同的字符串可能有不同的二进制表示,必须进行Unicode规范化以确保一致性。键序重要性:虽然JSON标准规定对象键序不重要,但实际应用(特别是密码学操作)依赖确定性序列化。

    40721

    Spring Boot 中的 @DateTimeFormat 和 @JsonFormat 注解优雅处理时间格式

    它主要用于将请求参数或表单数据中的日期字符串解析为 Java 的日期对象。...datetime=2023-10-01T10:15:30@JsonFormat 注解@JsonFormat 是 Jackson 库提供的注解,用于序列化和反序列化 JSON 数据中的日期时间字段。...void setDateTime(LocalDateTime dateTime) { this.dateTime = dateTime; }}接着,我们创建一个 REST 控制器来测试该实体类的序列化和反序列化...return "Event created: " + event.getName(); }}在上述示例中:/event GET 端点返回一个 Event 对象,其中日期和日期时间字段将根据 @JsonFormat...@DateTimeFormat 主要用于将请求参数或表单数据中的日期字符串解析为日期对象,而 @JsonFormat 则用于序列化和反序列化 JSON 数据中的日期时间字段。

    4.6K42
    领券