LocalDateTime用法大全

2024-06-23 12:48
文章标签 用法 大全 localdatetime

本文主要是介绍LocalDateTime用法大全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

常规使用

LocalDateTime now = LocalDateTime.now();   // 2020-01-29T14:35:51.207
int year = now.getYear();                  // 2020
Month month = now.getMonth();              // JANUARY
int monthValue = now.getMonthValue();      // 1
int dayOfYear = now.getDayOfYear();        // 29
int dayOfMonth = now.getDayOfMonth();      // 29
DayOfWeek dayOfWeek = now.getDayOfWeek();  // WEDNESDAY
int dayOfWeekValue = dayOfWeek.getValue(); // 3
int hour = now.getHour();                  // 14
int minute = now.getMinute();              // 35
int second = now.getSecond();              // 51long seconds = Instant.now().getEpochSecond();    // 秒时间戳(10位)
long milliSeconds = Instant.now().toEpochMilli(); // 毫秒时间戳(13位)LocalDateTime dateTimeFromSecond = LocalDateTime.ofInstant(Instant.ofEpochSecond(seconds), ZoneOffset.ofHours(8)
);  // 秒转datetimeLocalDateTime dateTimeFromMilliSecond = LocalDateTime.ofInstant(Instant.ofEpochMilli(milliSeconds), ZoneOffset.ofHours(8)
); // 毫秒转datetime

各种转换

String format = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
);  // datetime转字符串LocalDateTime dateTime = LocalDateTime.parse(format,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")
);  // 字符串转datetimeDate date = Date.from(dateTime.toInstant(ZoneOffset.ofHours(8)));                             // datetime转date
LocalDateTime fromDate = date.toInstant().atOffset(ZoneOffset.ofHours(8)).toLocalDateTime();  // date转datetime

自定义日期 / 日期加减

LocalDateTime dateTime = LocalDateTime.of(2020, 1, 29, 14, 35, 51); // 2020-01-29T14:35:51LocalDateTime localDateTime1 = dateTime.minusSeconds(1);            // 2020-01-29T14:35:50
LocalDateTime localDateTime2 = dateTime.minusMinutes(1);            // 2020-01-29T14:34:51
LocalDateTime localDateTime3 = dateTime.minusHours(1);              // 2020-01-29T13:35:51
LocalDateTime localDateTime4 = dateTime.minusDays(1);               // 2020-01-28T14:35:51
LocalDateTime localDateTime5 = dateTime.minusWeeks(1);              // 2020-01-22T14:35:51
LocalDateTime localDateTime6 = dateTime.minusMonths(1);             // 2019-12-29T14:35:51
LocalDateTime localDateTime7 = dateTime.minusYears(1);              // 2019-01-29T14:35:51

增加的为对应的plus函数,如dateTime.plusSeconds(1)

比较日期

LocalDateTime now = LocalDateTime.now();     // 2020-01-29T14:35:51.207
LocalDateTime yesterday = now.minusDays(1);  // 2020-01-28T14:35:51.207
boolean after = now.isAfter(yesterday);      // true
boolean before = now.isBefore(yesterday);    // false
boolean equal = now.isEqual(yesterday);      // false

其他类

LocalDate日期

LocalDate dateNow = LocalDate.now();        // 2020-01-29
LocalDate date = LocalDate.of(2020, 1, 29); // 2020-01-29

LocalTime时间

LocalTime timeNow = LocalTime.now();       // 14:35:51.207
LocalTime time = LocalTime.of(23, 59, 59); // 23:59:59

LocalDateTime日期时间

LocalDateTime dateTimeNow = LocalDateTime.now();                    // 2020-01-29T14:35:51.207
LocalDateTime dateTime = LocalDateTime.of(2020, 1, 29, 23, 59, 59); // 2020-01-29T23:59:59

Instant时刻

long second = Instant.now().getEpochSecond();          // 1580279751
long milliSecond = Instant.now().toEpochMilli();       // 1580279751000
Instant instant1 = Instant.ofEpochSecond(second);     // 2020-01-29T14:35:51Z
Instant instant2 = Instant.ofEpochMilli(milliSecond); // 2020-01-29T14:35:51.207Z

Duration时间差

Duration duration = Duration.between(LocalDateTime.now(), LocalDateTime.now().plusDays(1)
);  // PT24H
long seconds = duration.getSeconds();             // 86400
long seconds2 = duration.get(ChronoUnit.SECONDS); // 86400Duration ofDays = Duration.ofDays(1);             // PT24H
Duration ofHours = Duration.ofHours(1);           // PT1H
Duration ofMinutes = Duration.ofMinutes(1);       // PT1M
Duration ofSeconds = Duration.ofSeconds(1);       // PT1S

Period时间段

Period between = Period.between(LocalDate.of(2020, 1, 22), LocalDate.of(2020, 2, 9)
); // P18D
int year = between.getYears();   // 0
int month = between.getMonths(); // 0
int day = between.getDays();     // 18Period period = Period.of(1, 2, 3); // P1Y2M3D
long years = period.get(ChronoUnit.YEARS);            // 1
long months = period.get(ChronoUnit.MONTHS);          // 2
long days = period.get(ChronoUnit.DAYS);              // 3

Clock时钟

Clock clock1 = Clock.system(ZoneOffset.ofHours(8));  // SystemClock[+08:00]
Clock clock2 = Clock.systemUTC();                    // SystemClock[Z]long millis1 = clock1.millis();      // 1582285924008
long millis2 = clock2.millis();      // 1582285924008
Instant instant1 = clock1.instant(); // 2020-02-21T11:54:58.427Z
Instant instant2 = clock2.instant(); // 2020-02-21T11:54:58.428Z

天猫超市优惠地址

这篇关于LocalDateTime用法大全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1087201

相关文章

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

前端高级CSS用法示例详解

《前端高级CSS用法示例详解》在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一,随着前端技术的不断发展,CSS的用法也日益丰富和高级,本文将深... 前端高级css用法在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

C++常见容器获取头元素的方法大全

《C++常见容器获取头元素的方法大全》在C++编程中,容器是存储和管理数据集合的重要工具,不同的容器提供了不同的接口来访问和操作其中的元素,获取容器的头元素(即第一个元素)是常见的操作之一,本文将详细... 目录一、std::vector二、std::list三、std::deque四、std::forwa

关于@RequestParam的主要用法详解

《关于@RequestParam的主要用法详解》:本文主要介绍关于@RequestParam的主要用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 基本用法2. 默认值3. 可选参数4. 绑定到对象5. 绑定到集合或数组6. 绑定到 Map7. 处理复杂类

SQL中的CASE WHEN用法小结

《SQL中的CASEWHEN用法小结》文章详细介绍了SQL中的CASEWHEN函数及其用法,包括简单CASEWHEN和CASEWHEN条件表达式两种形式,并通过多个实际场景展示了如何使用CASEWH... 目录一、简单CASE WHEN函数:二、CASE WHEN条件表达式函数三、常用场景场景1:不同状态展