我如何使用时钟从一个LocalDateTime获得epoch的纪元?

时间:2017-05-04 19:24:39

标签: java

我正在尝试创建一个在java.util.Clock中自动装配的Component。我这样做,以便我可以自动装配一个固定时钟进行JUnit测试。我想提供一个方法,从提供的LocalDateTime返回自纪元以来的毫秒数。它不像我期望的那样工作:

@Component
public class MyClock {
    @Autowired
    Clock clock;

    public long getMilliseconds(LocalDateTime time) {
        ZonedDateTime zdt = ZonedDateTime.of(time, clock.getZone());
        return time.toInstant(zdt.getOffset()).toEpochMilli();
    }
}

所以你需要time.toInstant()的Offset。我能看到获得偏移的唯一方法是使用时钟区创建ZonedDateTime。

我做错了什么或不理解?

0 个答案:

没有答案