gpt4 book ai didi

java - 如何在 Java 中获取 Swatch Internet Time 的当前时间?

转载 作者:行者123 更新时间:2023-12-03 20:16:44 27 4
gpt4 key购买 nike

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

5年前关闭。




Improve this question




如何在 .beats 中获取当前时间( Swatch Internet Time )在 Java 中?

最佳答案

基本上,计算 .beats 中当前时间的公式是:

beats = ( UTC+1seconds + ( UTC+1minutes * 60 ) + ( UTC+1hours * 3600 ) ) / 86,4



向下舍入,您将获得 .beats 中的当前时间。

新的 Java 代码 (java.time)

在 Java 8 及更高版本中,我们有新的 java.time package (由 JSR 310 定义,受 Joda-TimeTutorial 启发,由 ThreeTen Extra 项目扩展)。
public static int getCurrentTimeInBeats() {
ZonedDateTime now = ZonedDateTime.now( ZoneId.of( "UTC+01:00" ) ); // "Biel Meantime" = UTC+01:00
int beats = (int) ( ( now.get( ChronoField.SECOND_OF_MINUTE) + ( now.get( ChronoField.MINUTE_OF_HOUR ) * 60 ) + ( now.get( ChronoField.HOUR_OF_DAY) * 3600 ) ) / 86.4 );
return beats;
}

旧的 Java 代码

如果您不能在 Java 8 及更高版本中使用新的 java.time 包,您可以使用首先与早期版本的 Java 捆绑在一起的日期时间类。
public static int getCurrentTimeInBeats() {
java.util.Calendar cal = java.util.Calendar.getInstance( java.util.TimeZone.getTimeZone( "GMT+01:00" ) );
int beats = (int) ( ( cal.get( java.util.Calendar.SECOND ) + ( cal.get( java.util.Calendar.MINUTE ) * 60 ) + ( cal.get( java.util.Calendar.HOUR_OF_DAY ) * 3600 ) ) / 86.4 );
return beats;
}

注意在 GMT+01:00中使用“GMT”而不是“UTC”,根据 TimeZone.getTimeZone 的文档.

关于java - 如何在 Java 中获取 Swatch Internet Time 的当前时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22693794/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com