首页 > 编程语言 >Java Instant 创建和使用

Java Instant 创建和使用

时间:2023-05-16 16:57:40浏览次数:38  
标签:Java 对象 创建 LocalDateTime Instant now

Java Instant 创建和使用


 

Java Instant 是一个日期和时间相关的类,它表示时间轴上的一个点,精确到纳秒。

在 Java 8 中引入了 Instant 类,可以方便地进行时间戳的操作和转换。

创建 Instant 实例可以通过以下几种方式:

 

1、使用 now() 方法获取当前时间的 Instant 对象

Instant now = Instant.now();

 

2、通过 ofEpochSecond() 或 ofEpochMilli() 方法从时间戳创建 Instant 对象

Instant instantFromSeconds = Instant.ofEpochSecond(1684216800);
Instant instantFromMillis = Instant.ofEpochMilli(1684216800000L);

 

3、通过解析字符串创建 Instant 对象

Instant instantFromString = Instant.parse("2022-05-16T12:34:56.789Z");

 

可以使用 toString() 方法将 Instant 对象格式化为 ISO 8601 格式的字符串。

System.out.println(now.toString()); // 输出:2022-05-16T12:34:56.789Z

 

Instant 对象支持数学运算符的操作,例如 plusSeconds()、plusMillis()、plusNanos()、minusSeconds()、minusMillis()、minusNanos() 等。

Instant now = Instant.now();
Instant future = now.plusSeconds(3600);
Instant past = now.minusMillis(500);

 

还可以将 Instant 对象转换为其他日期时间相关类的对象,例如 LocalDateTime、ZonedDateTime 和 OffsetDateTime。

Instant now = Instant.now();
LocalDateTime localDateTime = LocalDateTime.ofInstant(now, ZoneId.systemDefault());
ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(now, ZoneId.of("America/New_York"));
OffsetDateTime offsetDateTime = OffsetDateTime.ofInstant(now, ZoneOffset.ofHours(8));

 

Instant 是一个不可变类,每个操作都会返回一个新的 Instant 对象,因此需要将结果保存到一个新的变量中。

 

标签:Java,对象,创建,LocalDateTime,Instant,now
From: https://www.cnblogs.com/miracle-luna/p/17406130.html

相关文章

  • postgresql 自动创建分区表
    PostgreSQL中通过继承,可以支持基本的表分区功能,比如按时间,每月创建一个表分区,数据记录到对应分区中。按照官方文档的操作,创建子表和index、修改trigger等工作都必须DBA定期去手动执行,不能实现自动化,非常不方便。尝试着通过在plpgsql代码中使用动态SQL,将大表分区的运维操作实现......
  • Java网络编程----通过实现简易聊天工具来聊聊BIO
    IO模型即输入输出模型,我们今天主要来聊的是java网络编程中的IO模型---BIO模型。BIO即阻塞式IO,BlockingIOblocking[ˈblɒkɪŋ]v. 堵塞;阻塞;堵住(某人的路等);挡住(某人的视线等);妨碍;阻碍;那究竟什么是阻塞呢?这里的阻塞和多线程并发控制中,对未持有锁的线程进行同步阻......
  • Java中ArrayList集合类的使用
    一、概述什么是ArrayList?ArrayList类是可以动态修改的数组,没有固定的大小限制,可以添加、删除、修改、遍历元素。ArrayList继承了AbstractList,实现了List接口。二、ArrayList的使用1、在使用前需要导入包: 1importjava.util.ArrayList; 2、初始化: 1ArrayList<E>objec......
  • 创建Vue项目的方式
    一、方式一:1、在目标目录下,执行命令vuecreateproject_name2、注意:project_name需要替换为需要的项目名称,不可以包含中文 上面是版本,vue2、vue3,上下键选择对应的版本,回车即可。启动项目:npmrunserve终止项目:ctrl+c二、方式二 1、命令开启前端项目管理页面v......
  • Java学习笔记
    一、JAVA发展简史1.JAVA的诞生​在1991年时候,詹姆斯·高斯林(JamesGosling)在SUN公司的工程师小组想要设计这样一种小型计算机语言。该语言主要用于像电视盒这样的消费类电子产品。2.JAVA的发展史1991年,Sun公司的Green项目(Oak语言)1995年,推出JAVA测试版1996......
  • 01初识Java
    初识java一、Java特性简单性,相当于C++语法的一个“纯净版本”;面向对象;分布式(微服务),Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议;健壮性,Java与C++最大的不同在于Java采用的指针模型可以消除重写内存和损坏数据的可能性。不仅如此,Java编译器能够检测许多......
  • 用Java集合中的Collections.sort方法对list排序的两种方法
    用Collections.sort方法对list排序有两种方法[color=darkblue][b]第一种是list中的对象实现Comparable接口[/b][/color],如下:/***根据order对User排序*/publicclassUserimplementsComparable{privateStringname;privateIntegerorder;publicStringge......
  • BeanUtils beanjavaBean与Map互转
    importjava.lang.reflect.InvocationTargetException;importjava.util.Map;importorg.apache.commons.beanutils.BeanUtils;publicclasstest{publicstaticvoidmain(String[]args){Personperson1=newPerson();person1.......
  • Android AVD创建及设置中各参数详解
    设置AVD时有些参数比较模糊,特地找了篇文章,大家参考下!本文根据如下的模拟器安装做一些解释:[color=red][b]Name[/b][/color]:自定义虚拟的名称,不能有空格或者其他非法字符,否则不能创建,即CreatAVD不能高亮点击。[color=red][b]Target[/b][/color]:选择要运行的android版本(也可理解......
  • java的urlRewriter
    现在UrlRewriter技术有两个技术平台的,一个就是在Java方向的,另一个就是.NET方向的。今天我们讲的是Java方向的应用。首先让我们了解它的工作原理,说白了它就是一个简单的过滤器(Filter),看看源码你就会很快的明白,它就是通过我们在jsp中常用的两个方法实现的forward(),sendRedirect().下......