如何在Java中初始化Instant

3

如何初始化一个实例类型?

我尝试过这样做:

Instant instant = new Instant();

但是它不起作用...
我需要它,因为在Freemarker上完成后,我必须这样做:
[#assign dateFormated = newDate.from(instant.ofEpochSecond(data.time.seconds))/]

3
请勿写“无法工作”,而应该写“无法编译”。如果出现简单的编译错误,您应该真正查阅文档,并查看哪些静态类成员在没有公共构造函数的情况下可用。类“Instant”提供了大量的静态工厂方法。 - Meno Hochschild
看到你的另一个问题,为什么不创建一个 java.util.Date - Jasper de Vries
2
@JasperdeVries Date已经过时(无意冒犯),设计不佳,大多数方法和构造函数都已被弃用,因为它们在不同的时区中不可靠。它非常明显是来自另一个千年的技术。java.time是现代Java日期和时间API,Instant属于其中,使用起来更加舒适。 - Ole V.V.
请参见 https://github.com/amedia/freemarker-java-8。 - Jasper de Vries
抱歉,我对Freemaker也不是专家。但有一件事很奇怪:你正在使用instant.ofEpoch...... 我假设你调用了静态方法,但那么应该是Instant.ofEpoch...吧?! - GhostCat
显示剩余5条评论
1个回答

10

直接引用自Oracle 教程:

import java.time.Instant;

Instant timestamp = Instant.now()

你也会在那里找到其他的解释。

因此,真正的答案是:进行一些研究。特别是标准库类附带大量的Javadoc,解释了它们所有的方面,而且大多数时候也有很多教程可用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接