首页 > 编程语言 >Java 计算两个 LocalDateTime 类型的变量之间差的小时数,保留4位小数

Java 计算两个 LocalDateTime 类型的变量之间差的小时数,保留4位小数

时间:2023-04-22 13:08:15浏览次数:43  
标签:小时数 Java 2023 小数点 60 LocalDateTime Duration

为了计算两个 LocalDateTime 对象之间相差的小时数,并精确到小数点后 4 位,您可以使用 Duration 类。以下是一个示例:

import java.time.LocalDateTime;
import java.time.Duration;

public class Main {
    public static void main(String[] args) {
        LocalDateTime a = LocalDateTime.of(2023, 4, 19, 10, 0);
        LocalDateTime b = LocalDateTime.of(2023, 4, 20, 14, 30);

        Duration duration = Duration.between(a, b);
	// 将毫秒转换为小时
        double hoursBetween = (double) duration.toMillis() / (60 * 60 * 1000);
		
	// 精确到小数点后 4 位
	double roundedHoursBetween = Math.round(hoursBetween * 10000.0) / 10000.0;

        System.out.println("相差的小时数(精确到小数点后 4 位): " + roundedHoursBetween);
    }
}

在这个示例中,我们首先导入了 java.time.LocalDateTime 和 java.time.Duration 类。然后,我们创建了两个 LocalDateTime 对象 a 和 b,分别表示 2023 年 4 月 19 日 10:00 和 2023 年 4 月 20 日 14:30。接着,我们使用 Duration.between(a, b) 计算这两个时间点之间的时间差,并将结果存储在 duration 变量中。

为了将持续时间转换为小时(精确到小数点后 4 位),我们首先将持续时间转换为毫秒,然后除以 (60 * 60 * 1000)。这将给我们一个包含小数的小时数。接下来,我们使用 Math.round() 函数将小时数四舍五入到小数点后 4 位。最后,我们输出精确到小数点后 4 位的相差小时数。



标签:小时数,Java,2023,小数点,60,LocalDateTime,Duration
From: https://blog.51cto.com/u_14301180/6215231

相关文章

  • JavaScript加密库
    JavaScript加密库有很多,以下是一些常见的加密库:CryptoJS:一个纯JavaScript编写的加密库,提供了各种加密算法和编码方式的实现,包括对称加密、哈希函数、消息认证码、数字签名等。sjcl:一个JavaScript编写的加密库,提供了对称加密、公钥加密、哈希函数等,支持多种加密算法和模式。for......
  • Java编码规范-字符串与Integer的比较,BigDecimal非空参数
    Java编码规范-字符串与Integer的比较,BigDecimal非空参数packagecom.example.core.mydemo;importjava.math.BigDecimal;publicclassIntTest{publicstaticvoidmain(String[]args){Integertype=2;//if("2".equals(type)){if(typ......
  • Java处理集合数据方式的建议
    1.循环循环是传统的迭代方式,可以使用for、while和do-while循环语句进行实现。循环的优点在于简单易懂,可以处理任何数据类型,并且可以更好地掌控程序流程。但是,在处理大量数据时,循环可能会出现效率问题,并且需要手动处理线程安全等问题。适用场景:处理小型数据集需要精细控......
  • Java中的自动装箱与自动拆箱
    前言在Java中,基本数据类型与其对应的封装类之间可以进行自动转换,这种特性称为自动装箱(autoboxing)和自动拆箱(unboxing)。自动装箱和自动拆箱使得我们在使用基本数据类型时更加方便,同时也提高了代码的可读性和健壮性。本文将详细介绍Java中的自动装箱和自动拆箱机制。基本数据类型......
  • 物联网---04.java对Modbus数据解析与对象互转
    一、Modbus互转代码1.实现代码@DatapublicclassModbusTools{/***modbus数据转对象*@paramdata串口数据*@paramdataType1代表16位读取2个byte数据,2代表32位读取4个byte数据*/publicstaticModbusDataAnalyzeBeandataAnalyze(by......
  • JavaWeb回顾与小结(一)
    初识前端网页有哪些部分组成文字,图片,音频,视频,超链接网页的本质程序员写的HTML,CSS,JavaScript前端代码前端代码如何转换成网页通过浏览器解析和渲染成用户看到的网页web标准也称网页标准,由一系列的标准组成,大部分由W3C(WorldWideWebConsortium,万维网联盟)复制制......
  • Java:LocalDateTime获取今天的开始时间和结束时间
    代码示例LocalDateTimenow=LocalDateTime.now();intyear=now.getYear();intmonth=now.getMonthValue();intday=now.getDayOfMonth();System.out.println(String.format("%d-%d-%d",year,month,day));//2023-4-21LocalDateTimestartTime=Loca......
  • Java:ArrayList初始化赋值
    测试环境$java-versionjavaversion"1.8.0_251"Java(TM)SERuntimeEnvironment(build1.8.0_251-b08)JavaHotSpot(TM)64-BitServerVM(build25.251-b08,mixedmode)方式一:常规方式List<Integer>list=newArrayList<>();list.add(1);list.add(......
  • JavaScript学习笔记
    数组什么是数组?字面理解就是数字的组合其实不太准确,准确的来说数组是一个数据的集合也就是我们把一些数据放在一个盒子里面,按照顺序排好[1,2,3,'hello',true,false]这个东西就是一个数组,存储着一些数据的集合数据类型分类number/string/boolean/undefined/null/ob......
  • java获取到heapdump文件后,如何快速分析?
    原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,非公众号转载保留此声明。简介在之前的OOM问题复盘之后,本周,又一Java服务出现了内存问题,这次问题不严重,只会触发堆内存占用高报警,没有触发OOM,但好在之前的复盘中总结了dump脚本,会在堆占用高时自动执行jstack与jmap,使得我们成功保留了......