相关疑难解决方法(0)

Java 8:计算两个LocalDateTime之间的差异

我试图计算两者之间的差异LocalDateTime.

输出必须是格式y years m months d days h hours m minutes s seconds.这是我写的:

import java.time.Duration;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.Period;
import java.time.ZoneId;

public class Main {

    static final int MINUTES_PER_HOUR = 60;
    static final int SECONDS_PER_MINUTE = 60;
    static final int SECONDS_PER_HOUR = SECONDS_PER_MINUTE * MINUTES_PER_HOUR;

    public static void main(String[] args) {
        LocalDateTime toDateTime = LocalDateTime.of(2014, 9, 9, 19, 46, 45);
        LocalDateTime fromDateTime = LocalDateTime.of(1984, 12, 16, 7, 45, 55);

        Period period = getPeriod(fromDateTime, toDateTime); …
Run Code Online (Sandbox Code Playgroud)

java datetime date java-8 difference

233
推荐指数
8
解决办法
24万
查看次数

为什么我在java.time中不能在几分钟或几小时内获得持续时间?

在Java 8及更高版本中可用Duration的新JSR 310 date API(java.time包)中的类中,javadoc说:

此类以秒和纳秒为单位模拟时间量或时间量.它可以使用其他基于持续时间的单位进行访问,例如分钟和小时.此外,DAYS单位可以使用,并且被视为完全等于24小时,因此忽略了夏令时效果.

那么,为什么以下代码崩溃?

Duration duration = Duration.ofSeconds(3000);
System.out.println(duration.get(ChronoUnit.MINUTES));
Run Code Online (Sandbox Code Playgroud)

这提出了一个UnsupportedTemporalTypeException:

java.time.temporal.UnsupportedTemporalTypeException: Unsupported unit: Minutes
    at java.time.Duration.get(Duration.java:537)
Run Code Online (Sandbox Code Playgroud)

那么从持续时间对象中提取分钟和小时的推荐方法是什么?我们是否必须从秒数开始计算?为什么这样实现?

java java-8 java-time

54
推荐指数
5
解决办法
4万
查看次数

标签 统计

java ×2

java-8 ×2

date ×1

datetime ×1

difference ×1

java-time ×1