Java时钟类不提供当前时间
我尝试使用Clock类获取当前时间Java时钟类不提供当前时间,java,time,clock,Java,Time,Clock,我尝试使用Clock类获取当前时间 public class TestClock { public static void main(String[] args) { Clock c = Clock.systemDefaultZone(); System.out.println(c.instant()); } } 但问题是它没有给我现在的时间, 但它给出了: (当前时间-3小时) 所以我决定更加精确,并在节目中详细说明我居住的城市。(贝鲁特) 此外,它给了我: (当前时
public class TestClock {
public static void main(String[] args) {
Clock c = Clock.systemDefaultZone();
System.out.println(c.instant());
}
}
但问题是它没有给我现在的时间,
但它给出了:
(当前时间-3小时)
所以我决定更加精确,并在节目中详细说明我居住的城市。(贝鲁特)
此外,它给了我:
(当前时间-3小时)
那么问题出在哪里呢
注:在黎巴嫩贝鲁特时间+3格林威治,此信息与我的问题之间是否有关系?如@Erwin Bolwidt所指出,请使用
ZoneDateTime
并通过该区域
public class TestClock {
public static void main(String[] args) {
ZoneId zone = ZoneId.of("Asia/Beirut");
ZonedDateTime zdt = ZonedDateTime.now(zone);
System.out.println(zdt);
}
}
结果:
瞬间没有时区。使用。没有时区,或者它位于UTC时区,这取决于您如何看待它。是的,您是对的,但我仍然有一个问题:为什么我们可以将zone作为参数传递给clock对象,而clock类中没有方法提供带时区的时间?是的,您是对的,但我仍然有一个问题:为什么我们可以将zone作为参数传递给clock对象,而clock类中没有方法可以通过时区来给出时间?请阅读java官方文档中的
即时
public class TestClock {
public static void main(String[] args) {
ZoneId zone = ZoneId.of("Asia/Beirut");
ZonedDateTime zdt = ZonedDateTime.now(zone);
System.out.println(zdt);
}
}
2019-06-11T10:07:20.447+03:00[Asia/Beirut]