首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >确定实际日历日期(日)

确定实际日历日期(日)
EN

Stack Overflow用户
提问于 2021-11-21 20:31:35
回答 2查看 64关注 0票数 0

请读到最后,我会尽量详细解释。

我有一个程序,它只适用于当地人,在一个国家。具体地说,它是针对一个国家的,但也可以用于另一个国家。但是,所有小时、分钟和日期都适用于一个国家/地区。这就是为什么我认为程序应该在那个国家的日期运行,程序的日期应该取自那个国家的实际日期,而不是电话日历上的日期。

用户打开app: App show 21-11月。(在那个国家的日期)电话数据20-11月。(在他的祖国,日期仍然是11月20日)

(无论我的手机日历如何,应用程序都应该显示该国家et的确切日期。)

你还不明白吗?然后留下你的问题作为评论,请帮助。

EN

回答 2

Stack Overflow用户

发布于 2021-11-21 21:37:40

您的问题不清楚,但您似乎希望表示在两个不同时区中查看的单个时刻。

捕获以UTC为单位的当前时刻(偏移为0小时-分钟-秒)。

代码语言:javascript
复制
Instant instant = Instant.now() ;

通常,最好使用UTC进行思考、调试、日志记录、存储、数据交换和大多数业务逻辑。调整到一个时区,主要是为了向用户展示,以及根据需要针对特定的业务规则。

调整为一个时区。

代码语言:javascript
复制
ZoneId zEdmonton = ZoneId.of( "America/Edmonton" ) ;
ZonedDateTime zdtEdmonton = instant.atZone( zEdmonton ) ;

调整到另一个时区。

代码语言:javascript
复制
ZoneId zTokyo = ZoneId.of( "Asia/Tokyo" ) ;
ZonedDateTime zdtTokyo = instant.atZone( zTokyo ) ;

我们的三个对象,Instant和一对ZonedDateTime对象,都代表了时间轴上的同一时刻,同一时间点。

在特定的时刻,东京的日期可能是“明天”,而埃德蒙顿的日期仍然是“昨天”。

票数 1
EN

Stack Overflow用户

发布于 2021-11-21 21:26:35

有很多不同的方法可以获得它,这只是其中的两种:

代码语言:javascript
复制
LocalDateTime.now().atOffset(ZoneOffset.of("-05:00")).toZonedDateTime();
LocalDateTime.now().atZone(ZoneId.of("Asia/Kuala_Lumpur"))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70058344

复制
相关文章

相似问题

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