首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在不同时区获取LocalTime?

如何在不同时区获取LocalTime?
EN

Stack Overflow用户
提问于 2020-02-24 19:19:10
回答 1查看 1.6K关注 0票数 2

我知道LocalTime是时区不可知论者.但我想要在中央标准时间(CST)的时间。我所得到的只是一串时间:

代码语言:javascript
复制
String start = "11:00" //11 am CST. 
LocalTime startTime = LocalTime.parse(start);

这很好,但是服务器运行在不同的时区。所以它将解释为世界协调时间上午11点。我想让LocalTime加入科技委。我需要在CST中调用LocalTime.isAfter方法。

代码语言:javascript
复制
LocalTime currentTime = LocalTime.now();
boolean afterEleven = currentTime.isAfter(startTime);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-24 19:40:20

LocalDateTime.now()实际上是LocalDateTime.now(Clock.systemDefaultZone())的快捷方式,Clock.class表示某些日期时间瞬间(见文档),静态方法systemDefaultZone()返回PC的日期时间瞬间。

在您的情况下,可以为不同的区域使用"clock“( id="CST”的区域不存在,但是您可以选择"America/Chicago“-参见Expression在这个答案中)。

代码语言:javascript
复制
LocalTime currentTime = LocalTime.now(Clock.system(ZoneId.of("America/Chicago")));

UPD没有正确理解任务。在这种情况下,实际上更容易将currentTime而不是startTime转换为需要的区域。

代码语言:javascript
复制
LocalTime currentTime = LocalTime.now(Clock.system(ZoneId.of("Europe/London")));

或者,正如Ole V.V.提醒的那样:

代码语言:javascript
复制
LocalTime currentTime = LocalTime.now(ZoneId.of("Europe/London"));

然后,您可以将其与未经修改的startTime进行比较(在本例中- 11:00)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60382587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档